导航:首页 > 源码编译 > 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版本相关的资料

热点内容
android可以刷机吗 浏览:350
各城市8月程序员薪资 浏览:405
ins导航python 浏览:247
51单片机1us 浏览:218
上海突发天气预警推送什么app 浏览:740
压缩机的供油 浏览:971
django开发的网站源码 浏览:511
数据库管理项目源码 浏览:122
最新骆驼源码app下载 浏览:49
网络答题用什么app模板 浏览:550
linux服务器如何配置多域名 浏览:250
pythonlibrary中文 浏览:551
客户管理系统破解源码 浏览:994
程序员皮皮 浏览:411
一个单片机一个程序 浏览:101
python调用系统时间 浏览:767
鸿蒙20怎么弄大文件夹 浏览:615
美团的服务器是什么 浏览:359
axure原型设计精髓pdf 浏览:379
svox文件夹有用吗 浏览:508