Java 在pom.xml中传递VM参数
我的程序只与ip4一起工作,并且与ip6一起出现错误,因此我需要与一起运行jarJava 在pom.xml中传递VM参数,java,maven,pom.xml,Java,Maven,Pom.xml,我的程序只与ip4一起工作,并且与ip6一起出现错误,因此我需要与一起运行jar -Djava.net.preferIPv4Stack=true 有没有办法将这一行写入pom.xml,并且每当有人打开jar时,应用程序将尝试连接IPv4?没有,在构建时没有办法这样做。当运行java-jar artifact.jar时,参数被传递到JVM 您可以选择自己在代码中这样做(main方法可能是您可以尽早更改此属性的地方): 您可以使用maven surefire插件: <build>
-Djava.net.preferIPv4Stack=true
有没有办法将这一行写入pom.xml,并且每当有人打开jar时,应用程序将尝试连接IPv4?没有,在构建时没有办法这样做。当运行
java-jar artifact.jar
时,参数被传递到JVM
您可以选择自己在代码中这样做(main方法可能是您可以尽早更改此属性的地方):
您可以使用
maven surefire插件
:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<systemPropertyVariables>
<java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
.这是否也适用于构建时间?还是只在罐子里?当我构建jar时,这在另一台非开发人员的计算机上也会起作用吗?它在,我认为它在构建时起作用,但我不确定当我构建jar时,它在另一台非开发人员的计算机上也会起作用吗?是的,因为这在你的代码中,它在任何地方都会起作用,只要用户在启动jar时没有可供选择的主类
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<systemPropertyVariables>
<java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>