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