A. java 在eclipse工程下读取文件内容和打成war包后,读取同样文件内容,正确读取
首先war打完之后你可以用解压软件看看里面的文件结构,和工程是不一样的。没有src/main/这一层。因此如果要满足你的使用相对路径要求,又要通用,只有两个方法。
1、在项目下重新建一个resource资源包,配置文件放在里面,然后根据resource相对路径读取
2、变更项目打包结构,打包输出时把src/main/这层加上
总之这两个方法的目的都是为了让war包结构和你工程一致。
我的读取配置文件方法如下,你可以参考下。文件路径:
Stringpath=null;
try{
path=SellerProctController.class.getClassLoader()
.getResource("").toURI().getPath();
log.info("获取到配置文件的路径为:"+path);
}catch(URISyntaxExceptione){
log.error("获取配置文件路径出现异常,"+e.getMessage());
}
//把文件读入文件输入流,存入内存中
FileInputStreamfis=null;
try{
fis=newFileInputStream(newFile(path+"isa_addr.json"));
}catch(FileNotFoundExceptione){
log.error("读取配置文件出现异常,"+e.getMessage());
}
//设置response的字符集为项目指定字符集
response.setCharacterEncoding("UTF-8");
//创建输出流对象
PrintWriterout=null;
try{
out=response.getWriter();
}catch(IOExceptione){
log.error("创建输出流对象失败:"+e.getMessage());
}
Stringres=this.ReadFile(fis);
log.debug("最终获得的Json串为:"+res);
B. JAVA中如何打包生成WAR文件
我们可以运用DOS命令来手工打war包:
首先,打开DOS命令行,敲入“jar”,我们发现它提示不是内部或外部的命令这样的错误,这时八成是你的JAVA环境没有配置好,我们可以用JAVA_HOME方式或者直接在Path路径里配置,等配置好,(注意你的JDK版本,里面有jar.exe和javac.exe的版本适合)我们再敲入"jar",会出现如下效果,说明配置成功。
下面我们用DOS命令进入到你的项目中
好,现在我们来运行命令手工打包
OK,打包完成,现在我们来看下目录下的war包
C. 怎样使用java 命令打jar包和war包
首先输入命令jar查看jar命令的参数,其中最常用的三个参数为-c,-v,-f,当然还有一些其他的命令。
准备一个编写好的java文件,并且将其编译好,下面贴出源码。
使用jar -cvf 命令将Hello.class文件打成生成jar包,具体的命令是
jar -cvf d:/Hello.jar d:/Hello.class,意思是将d盘根目录下面的Hell.class文件打成Hell.jar这个文件并放在d盘根目录下。
当然打jar包的时候可能需要将文件打在某个包下面,那么需要使用命令
jar -cf d:/Hello1.jar d:/Hello.class这个命令的使用方法和上面一样,唯一的区别就是这个命令在生成jar文件的过程中不会显示详细信息,虽然没有显示详细信息,但是它的的确生成了Hello1.jar这个文件
还有就是jar tf命令和jar tvf命令他们都生成jar包的完整名称 要生成的class文件所在目录以及名称,但是前者是会显示文件中包含的所有目录和文件名列表,后者除了显示文件中包含的所有目录信息和文件列表以外,还会显示各目录和文件的大小、创建时间等信息。
打war包,其实和刚才的命令差不多,只是将文件的后缀名改为.war就可以了。
D. 将java web项目打包war文件然后发布到Tomcat,
用ant或者meven都可以打包成war包,然后放到tomcat的webapps下,启动tomcat自动解压,然后用localhost访问即可。
E. 哪位高手告诉知道java web程序打war包的的工作原理吗 我用的是Myeclipse 知道的告诉我下 我是小菜鸟
用的是ant或者其他差不多的工具 原理就是配置一个xml 然后ant是一个java程序帮助你编译打包还有写文档 Myeclipse /eclipse 等工具自动集成了ant 所以可以直接调用ant