如何在maven环境中设置JVM参数

如何在maven环境中设置JVM参数,第1张

在maven环境中设置JVM参数的方法:

1.建立远程调试,端口为4000的设定为:

set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000

注意:suspend最好设定为n.设定上述参数后,在eclipse中新建远程调试,设置端口为4000,这样通过jetty:run启动系统时就可以进行远程调试了。

2.解决自动热部署时java.lang.OutOfMemoryError: PermGen space问题解决这一问题只需要增大PermGen区,默认为 64m,设置方法为:

set MAVEN_OPTS=-XX:MaxPermSize=128M

maven简介:

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

JVM简介:

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

原理:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的 *** 作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的字节码程序。

java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

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>copy-dependencies</id>

<phase>package</phase>

<goals>

<goal>copy-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进行编译。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11225727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存