Ⅰ java eclipse導出的jar怎樣讀寫裡面的properties文件
兩種辦法 第一: File f = new File(this.getClass().getResource("/").getPath());
f = new File(f.getPath() + "/conf/config.properties");
註:f.getPath()即為當class所在的絕對路徑。如:c:\javasrc\web-inf\classes
然後,對文件對象進行處理,就能把配置信息讀取出來了,但是加入如上class被打包成jar文件,那麼,在程序執行到這里時,就會無法找到配置文件,那麼該如何處理呢?
處理方法如下:
String s_config="conf/config.properties";
File file= new File(String.valueOf(ClassLoader.getSystemResource(config)));
String filepaths= file.getPath(); 第二:用JarFile JarFile jarFile = new JarFile("thefile.jar"); 這個是專門用來讀jar文件的
Ⅱ java jar怎麼把指定目錄排除掉再進行打包
在項目的pom.xml文件裡面添加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>loginweb</warName>
<outputDirectory>target</outputDirectory>
<!-- 排除 -->
<packagingExcludes>
WEB-INF/classes/*jdbc.properties,
WEB-INF/classes/*config.properties,regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
</packagingExcludes>
</configuration>
</plugin>
配置說明:
1. WEB-INF/classes/*_jdbc.properties: 過濾 任何前綴的 _jdbc.properties 配置文件(如:我上篇博客自動打不同環境的包中提到的添加的不同環境的jdbc配置文件,那麼在打包時候,排除自己添加的這個配置文件)
2. %regex[WEB-INF/lib/(?!log4j-1|common-1)...jar] 通過正在表達式配置打包時,排除除了log4j-1和common-1 的 1.任何版本的jar包。即打包時只添加這兩個jar包到war包裡面,其他的任何jar都排除不打包進去
(PS:為了tomcat 共享jar包,所以項目中不打jar,當然除了自己項目間相互依賴的jar,比如這個jar會經常自己修改,那麼經常修改的,就不排除,打包時候把他們也打進去。對於tomcat如何共享jar包,後續再詳細描述)
3. 如果有多個條件,用逗號隔開。對於packagingExcludes 的詳細使用,請查看官網:
http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html
Ⅲ 如何在java中使用別人提供的jar包進行導入,編
項目名稱上單擊右鍵,點擊properties。
點擊「Java Build Path」,點擊「Libraries」,點擊「Add External JARs」
選擇jar
web項目 將你的jar包放入項目WebRoot WEB-INF lib包下沒有lib包新建個文件夾
已導入jar包 直接關鍵字+alt+/ 就好了