導航:首頁 > 源碼編譯 > pom指定編譯java版本

pom指定編譯java版本

發布時間:2022-09-21 06:22:28

⑴ 如何在maven pom.xml文件中設置java編譯器版本

1,生成3個目錄/lib,/conf,/bin目錄
2,把所有的jar目錄編譯、拷貝到/lib目錄(包括maven的jar包和lib目錄下的jar,以及編譯的jar包)
3,把所有的啟動腳本從工程根目錄拷貝到/bin目錄
4,把所有的配置文件從src/main/resources拷貝到/conf
pom.xml 配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>test</groupId>
<artifactId>test.common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>test.common</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<!-- 這里省略n行 -->
</dependencies>

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<!-- 把src/main/resources目錄下所有的文件拷貝到conf目錄中 -->
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}/conf</targetPath>
</resource>
<!-- 把lib目錄下所有的文件拷貝到lib目錄中
(可能有些jar包沒有辦法在maven中找到,需要放在lib目錄中) -->
<resource>
<directory>lib</directory>
<targetPath>${project.build.directory}/lib</targetPath>
</resource>
<!-- 把放在根目錄下的腳本文件.sh,.bat拷貝到bin目錄中 -->
<resource>
<directory>.</directory>
<includes>
<include>**/*.sh</include>
<include>**/*.bat</include>
</includes>
<targetPath>${project.build.directory}/bin</targetPath>
</resource>
</resources>

<plugins>
<!-- 用於編譯的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<!-- 如果配置了JAVA_HOME,下面應該可以不用配 -->
<executable>C:\Program Files (x86)\Java\jdk1.8.0_91\bin\javac.exe</executable>
</configuration>
</plugin>

<!-- 用於生成jar包的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- 把生成的jar包放在lib目錄下(和其他所有jar包一起) -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<excludes>
<!-- 排除掉一些文件,不要放到jar包中,
這里是為了排除掉src/main/resources中的文件(它們應該放到conf目錄)
這里只能指定要排除的目標文件,而不能指定源文件,雖然不夠完美,但是基本能達到目的。 -->
<exclude>*.xml</exclude>
<exclude>*.properties</exclude>
</excludes>
</configuration>
</plugin>

<!-- 用於拷貝maven依賴的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>-dependencies</id>
<phase>package</phase>
<goals>
<goal>-dependencies</goal>
</goals>
<configuration>
<!-- 把依賴的所有maven jar包拷貝到lib目錄中(這樣所有的jar包都在lib目錄中) -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>

<!-- 用於拷貝resource的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

<!-- 配置生成源代碼jar的plugin -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<configuration>
<attach>true</attach>
<encoding>UTF-8</encoding>
<!-- 配置源代碼jar文件的存放路徑,和其他jar文件一起放在lib目錄 -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>

</plugins>
</build>
</project>

然後執行maven package打包。如果是eclipse,在Project Explorer-> Run As –> Maven Build… –>在Goals中輸入package,點Run進行編譯。

⑵ maven編譯時 修改了pom.xml中jar包版本號,但是依舊會下載老版本jar包,為什麼

可能和ide有關系

調查方法:

  1. 命令行 maven clean update 試試

  2. 如果是idea,pom-右鍵-重新載入

⑶ 如何配置pom.xml用maven打包java工程

<groupId>per.summer.MyBatis</groupId>
<artifactId>firsteBybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
這個是打包成jar
<groupId>per.summer.mybatis</groupId>
<artifactId>ssm-maven</artifactId>
<packaging>war</packaging>
這個是打包成war
GroupID是項目組織唯一的標識符,實際對應JAVA的包的結構,是main目錄里java的目錄結構。

ArtifactID就是項目的唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。根據你自己的來就是了

⑷ 為什麼Maven Update Project JDK變回1.5

主要原因是每次Update時,它就會使用settings文件下的默認值。(原來這是maven自己搗的鬼)

Maven官方文檔有如下描述:

編譯器插件用來編譯項目的源文件.從3.0版本開始,

用來編譯Java源文件的默認編譯器是javax.tools.JavaCompiler (如果你是用的是java 1.6) 。

如果你想強制性的讓插件使用javac,你必須配置插件選項 forceJavacCompilerUse。
同時需要注意的是目前source選項和target 選項的默認設置都是1.5, 與運行Maven時的JDK版本無關。

如果你想要改變這些默認設置, 可以參考 Setting the -source and -target of the Java Compiler中的描述來設置 source 和target 選項。

這是Maven已知的一個特性。除非在你的POM文件中顯示的指定一個版本,否則會使用編譯器默認的source/target版本1.5。主要還是在於Eclipse中Maven的集成方式起到了關鍵作用, 它會從POM文件中生成項目的.project,.classpath以及.settings, 因此除非POM文件指定了正確的JDK版本, 否則你每次更新項目配置的時候它都會重置到1.5版本。

解決方案

方案一

在pom.xml文件中增加如下配置:

修改Eclipse中的設置,使配置生效。此方案全局有效。

⑸ 在pom中如何指定jdk

1、直接在maven環境變數中進行指定

2、dependency下的屬性classifier
這個屬性用於區分從同一個pom編譯出來的但是內容不同的同名包,例如同一個工程編譯出兩個artifact,一個支持jdk1.5一個支持jdk1.4,那麼就可以使用這個來命名為jdk15和jdk14來區分,它如果出現在包名中,那麼它必須跟在版本號後。還有一種情況是將一個工程的一些次要artifact附到主要artifact中,就可以使用這個來區分,例如一個工程產生source,javadoc,class三種東西,那麼就可以使用不同的classifier來分別標識這些東西。

⑹ 如何配置pom.xml用maven打包java工程

最近由於項目需要,研究了一下maven的打包,項目要做到
1,生成3個目錄/lib,/conf,/bin目錄
2,把所有的jar目錄編譯、拷貝到/lib目錄(包括maven的jar包和lib目錄下的jar,以及編譯的jar包)
3,把所有的啟動腳本從工程根目錄拷貝到/bin目錄
4,把所有的配置文件從src/main/resources拷貝到/conf
VX眾號:Java6359

⑺ 如何配置pom.xml用maven打包java工程

1,生成3個目錄/lib,/conf,/bin目錄
2,把所有的jar目錄編譯、拷貝到/lib目錄(包括maven的jar包和lib目錄下的jar,以及編譯的jar包)
3,把所有的啟動腳本從工程根目錄拷貝到/bin目錄
4,把所有的配置文件從src/main/resources拷貝到/conf

下面是配置的pom.xml,我把相關的配置都加了注釋,一看就能明白,把build節點拷貝到你們的項目中,就基本可以用了:)

閱讀全文

與pom指定編譯java版本相關的資料

熱點內容
框架源碼研讀 瀏覽:444
仙侶奇緣3如何架設伺服器 瀏覽:952
單片機RRC指令 瀏覽:887
默認加密文件密碼 瀏覽:3
怎麼用反詐中心app查詢電話 瀏覽:708
linuxvi操作 瀏覽:296
什麼是實木壓縮板 瀏覽:639
加密空投與硬分叉指南 瀏覽:15
加密wps文檔密碼忘了怎麼辦 瀏覽:685
沖程演算法 瀏覽:988
雞料與雞糞的演算法 瀏覽:833
phpif變數為空值 瀏覽:59
iot編譯器異常 瀏覽:600
代理伺服器被禁用怎麼上網 瀏覽:411
隱私加密怎麼設置密碼 瀏覽:940
馬丁靴補色解壓 瀏覽:565
在設置app上怎麼找到個人熱點 瀏覽:754
按照檔案號生成文件夾 瀏覽:1001
程序員轉方向 瀏覽:111
lol敏捷加密 瀏覽:882