今天写ComFrame属性配置工具,参照网上的资料,实现了题目的功能。
支持原创啊。
这里的流程是这样的。层层剥皮。
//------------------
读取jar文件里面的文件
//----------------
import java.io.*;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
public class ReadFileImpl implements IReadFile{
public String readFile() {
String result = "";
try {
String currentJarPath = ReadFileImpl.class.getProtectionDomain().getCodeSource().getLocation().getFile();
JarFile currentJar = new JarFile("conf.jar");
JarEntry dbEntry = currentJar.getJarEntry("text.properties");
InputStream in = currentJar.getInputStream(dbEntry);
//FileInputStream fis = new FileInputStream(currentJarPath+"/text.properties");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String readLine = null;
while((readLine = br.readLine())!= null){
result = result + readLine;
}
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return result;
}
}
//----------------------
解压某个文件 把conf.jar从UWFE.ear里面解压出来
//---------------------
JarFile currentJar = new JarFile(path + "/UWFE.ear");
JarEntry dbEntry = currentJar.getJarEntry("conf.jar");
InputStream in = currentJar.getInputStream(dbEntry);
FileOutputStream fos = new FileOutputStream(path+"/conff.jar", true);
int i = 0;
while ((i = in.read()) != -1) {
fos.write(i);
}
fos.flush();
fos.close();
//------------------------
打包 把conf.jar打包到UWFE.ear里面。
//------------------------
private static boolean EAR(){
try {
File tempJar = new File(filepath+"/UWFE1.ear");
tempJar.createNewFile();
JarFile jar = new JarFile(filepath+"/UWFE.ear");
FileOutputStream f = new FileOutputStream(tempJar);
JarOutputStream newJar = new JarOutputStream( f);
byte buffer[] = new byte[100];
int bytesRead;
// Add back the original files
Enumeration entries = jar.entries();
while (entries.hasMoreElements()) {
// Prompt for copy
JarEntry entry = (JarEntry) entries.nextElement();
if(entry.toString().equals("conf.jar"))
continue;
InputStream is = jar.getInputStream(entry);
newJar.putNextEntry(entry);
while ((bytesRead = is.read(buffer)) != -1) {
newJar.write(buffer, 0, bytesRead);
}
newJar.flush();
is.close();
} // Add new file last
jar.close();
JarEntry entry = new JarEntry("conf.jar");
newJar.putNextEntry(entry);
FileInputStream fis = new FileInputStream(filepath+"/conf.jar");
while ((bytesRead = fis.read(buffer)) != -1) {
newJar.write(buffer, 0, bytesRead);
}
newJar.flush();
fis.close();
newJar.close();
f.close();
return true;
} catch (Exception ex){
ex.getMessage();
return false;
}
}
如果需要转载,请标明出处,尊重偶的原创版权啊。
http://www.chinacsharp.net
http://blog.csdn.net/keyboardsun
作者keyboardsun
分享到:
相关推荐
**压缩与解压缩**:7-Zip 支持多种压缩格式,如 7z、ZIP、GZIP、BZIP2、TAR 等,并能读取 RAR、CAB、ISO、ARJ、LZH、CHM、Z、7z、TAZ、LZMA、TB2、TBZ、TBZ2、TGZ、TXZ、TZ、XZ、EAR、WAR、JAR 等多种格式的文件。...
通常,JAR文件会被Java虚拟机(JVM)用来执行包含在其中的类,或者作为部署单元,比如Web应用的WAR文件和EJB的EAR文件。 压缩包内的文件名"asm-attrs-1.4.3.jar"应该是ASM库的"attrs"模块的实现,包含了处理Java类...
在WAS中,EAR(Enterprise Archive)文件是一种打包格式,用于包含整个Java EE应用的所有组件,如EJB、WAR、JAR等。 2. **EAR文件**:EAR文件是Java EE应用的容器,它包含了应用的元数据、Web模块、EJB模块和其他...
首先,我们来看看描述中提到的JAR文件类型——J2EE应用程序的EAR文件(Enterprise Archive)。EAR文件是一种特殊的JAR,用于打包整个Java企业级应用,包括Web组件、EJB(Enterprise JavaBeans)、库和其他必要的资源...
5. **打包**:根据项目类型(如JAR、WAR、EAR)打包项目,生成最终的可部署文件。 6. **部署**:将打包后的文件上传到远程仓库,供其他项目使用。 ### Maven命令行使用 1. **安装Maven**:下载Apache Maven 3.6.1...
Maven 的插件系统允许扩展其功能,例如支持不同的打包格式(JAR、WAR、EAR 等)或执行特定的任务。此外,Maven 的标准目录结构使得项目更容易理解和维护,增强了团队之间的协作效率。 总之,Apache Maven 3.6.3 是...
在Maven中,打包(package)是核心任务之一,它将编译后的类文件和相关的资源文件打包成特定格式,如JAR、WAR或EAR。这个过程可以通过执行`mvn package`命令来完成。在Eclipse这样的集成开发环境(IDE)中,也可以...
- **依赖管理**:Maven通过读取项目配置文件(`pom.xml`)来管理项目的依赖关系,自动下载所需的库文件并解决依赖冲突。 - **构建生命周期**:Maven有一套预定义的构建生命周期,包括清理、编译、测试、打包、集成...
Maven可以将Java源代码编译成JAR、WAR或EAR文件,这些是Java应用程序的标准格式。例如,`mvn package`命令会执行完整的构建流程,包括编译、测试和打包,最后生成可部署的文件。 Maven的另一个关键特性是依赖管理。...
6. **打包**:将编译后的结果打包成指定格式,如JAR、WAR或EAR。 7. **验证**:执行集成测试,确保项目质量。 8. **部署**:将最终的打包文件发送到远程仓库,供其他项目使用。 **Maven的常用命令:** 1. `mvn ...
5. **打包**:根据项目类型(如JAR、WAR或EAR)打包结果。 6. **集成测试**:如果配置了,执行集成测试。 7. **验证**:对打包后的文件进行验证,确保可部署。 8. **部署**:将最终的包上传到远程仓库,供其他项目...
通过熟练掌握Maven,开发者可以更好地组织项目结构,管理依赖,自动化构建,以及生成各种构建产物,如JAR、WAR或EAR文件。同时,Maven还促进了团队间的合作,通过共享POM文件,确保了项目的可重复构建和一致性。
在EJB架构中,通常会有一个Web应用(WAR文件)作为客户端,调用EJB服务(EAR文件)中的业务逻辑。 5. **CMP与BMP的区别**:CMP简化了开发过程,但可能限制了数据库访问的灵活性;而BMP提供了更大的自由度,允许...
在package阶段,编译后的代码被打包成JAR、WAR或EAR等格式。 此外,Maven的插件系统非常强大,可以通过安装各种插件来扩展其功能,例如生成Javadoc,执行集成测试,部署应用程序到远程服务器等。这些插件的配置都可...
- 初始化:设置工作目录、读取POM文件、初始化构建环境。 - 编译:将源代码编译为class文件。 - 测试:运行单元测试,生成测试报告。 - 打包:将编译后的结果打包成指定格式,如JAR、WAR或EAR。 - 部署:将打包...
4. **生成工件**:Maven 根据项目的打包类型(如 JAR、WAR 或 EAR),将编译后的结果打包。 5. **部署**:如果配置了部署目标,Maven 可以将最终的工件部署到远程仓库。 ** Maven 源码分析 ** 压缩包中的 "apache...
2. **模块化架构**:JBoss采用模块化设计,将各种服务和组件打包在独立的JAR或WAR文件中,使得配置和管理更为灵活。 3. **热部署**:允许开发者在运行时更新应用程序,无需重启服务器,提高了开发效率。 4. **EJB ...
6. **打包**:将编译后的代码打包成指定格式(如JAR、WAR或EAR)。 7. **集成测试**:如果有,运行更复杂的集成测试。 8. **验证**:检查最终产出物是否符合发布要求。 9. **部署**:将打包后的文件发送到指定的...