1. 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
2. 用maven打包jar項目其中很多模塊引用了相同jar包,如何把它些jar公用,讓maven打包不把這公用包打進去
3. maven打包問題 jar包不能通過pom.xml准確找到本地倉庫
我也遇到來了兩次這樣的自問題,但解決方法不一樣。網上Maven的教程很多,但真正解決日常使用問題的,太少;
1、
解決辦法就是:
右鍵項目,【Maven】--》【Update Project Configuration...】
Tips:根據Maven插件版本的問題,【Update Project Configuration...】這個東西有的時候是打勾的,有的時候就是個JMenuItem
2、我想第一種就可以了,第二種就給你地址吧
http://www.th7.cn/Program/java/201304/134464.shtml
4. 請問maven工程jar包,war包,pom打包,都是怎麼定的
首先maven 工程是通過你的pom文件的設定來打包
jar 和war是兩種打包方式,可以在pom文件中設定的
1、專jar包主要應用於java 命令屬執行 比如java -jar
2、war包一般用於tomcat容器
現在springboot應用比較廣,內置了tomcat容器,通常打包是jar多一點
5. 用maven打包war時,怎麼才能不要lib下面的jar
可以在每個dependency上面加<optional>true</optional>。
但是如果你打的war包裡面沒有lib,那你的應用伺服器怎麼運行呢,放在tomcat/lib 下可不是個好方法
6. 如何執行maven打包的jar包
這個我記得之前遠標教育老師講過,他說
第一步:在你的pom.xml中添加
1<plugin>
2 <artifactId>maven-assembly-plugin</artifactId>
3 <version>2.2</version>
4 <configuration>
5 <archive>
6 <manifest>
7 <mainClass>cn.com.threetcloud.agent.server.BrokerServer</mainClass>
8 </manifest>
9 </archive>
10 <descriptorRefs>
11 <descriptorRef>
12 jar-with-dependencies
13 </descriptorRef>
14 </descriptorRefs>
15 </configuration>
16 </plugin>
第二步:CMD進入到自己的工程文件夾下進行mvn assembly:assembly操作
我的工程是在D:\workspace\test
那麼操作步驟是
1:cmd回車
2:d:回車
3:cd workspace回車
4:cd test回車
5:mvn assembly:assembly回車
第三步:CMD通過java命令運行剛才導出的jar文件,一般導出後在自己工程的target文件夾下面
我的jar導出後在D:\workspace\test\target\agent-server-0.0.1-jar-with-dependencies.jar
那麼操作步驟是
1:cmd回車
2:d:回車
3:cd workspace回車
4:cd test回車
5:cd target回車
5:java -jar agent-server-0.0.1-jar-with-dependencies.jar回車
到此結束。
7. idea maven 打包不包含jar包
目標 1. 將依賴第三方jar包都打進去
2. 將工程java 目錄下所有文件夾和配置文件,包括資源文件都打入jar包,根據目錄來
3. 打出jar文件可直接運行
方法:採用 maven-assembly-plugin
環境:IDEA 14.1.5 JDK 1.8
其中**/*寫法,是為了保證各級子目錄下的資源文件被打包,svn相關文件排除。
pom.xml 寫法
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>**/.svn/*</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources></span>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
8. maven打包jar包時如何打包本地jar文件
本地jar添加到maven倉庫的方法。 有些包在mvn repository是沒有的,例如IKAnlyzer.jar,那我們又想讓maven幫助我們管理,怎麼辦呢?
一、安裝maven環境,配置環境變數
二、下載你需要加入到maven的jar包
1、配置maven環境,計算機-屬性-高級系統設置-環境變數,添加系統變數MAVEN_HOME。值指向bin層,復制到變數值裡面。
我下載的是apache-maven-3.3.9
2、下載需要加入到maven的包,我這里的例子是IKAnlyzer,因為他在maven倉庫里沒有。
2.1、先測試maven環境變數是否安裝成功
cmd後輸入 mvn -v
2.2、在cmd中輸入
mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dfile=E:IKAnalyzer3.2.8.jar -Dpackaging=jar
這些參數與pom.xml裡面的參數對應關系。其實4是本地jar的路徑。我把包放在E盤了。 如圖:
groupId:DgroupId
artifactId:jms
version:Dversion
那在pom.xml 加入:
<dependency>
// groupId與version我在本地測試的時候無法使用".",設置成沒有小數點的名稱即可
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
9. Java eclipse的maven 怎麼打包,才能一個jar包不落的包含在war裡面
-v -version 查看maven的版復本
clean 清除編譯制
compile 編譯
package 打包
test 測試
install 發布到本地倉庫
archetype 創建maven框架
deploy 發布到中央倉庫
mvn clean install 這樣就可以清除,然後打包,然後安裝到本地倉庫了
10. maven打包的時候會忽略掉空文件夾,怎樣配置讓它不忽略
我先上代碼,主要 是 maven-war-plugin 有個includeEmptyDirectories參數 ,
注意:這個參內數maven-war-plugin 2.4 的版本才支持容
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<includeEmptyDirectories>true</includeEmptyDirectories>
</configuration>
</plugin>
</plugins>
</build>