如何将代理 VM 参数添加到 IntelliJ IDEA 中的所有 Maven 调用
How to add proxy VM params to all maven calls in IntelliJ IDEA
我的 IntelliJ IDEA 15 只能使用代理访问互联网。
因此,我可以配置 Maven->Importing 和 Maven->Runner 设置以包含
-DproxyXXXX=YYYY
虚拟机选项。这适用于我从 IDE
发起的所有 Maven 目标
但是:当我从 archetype 创建一个新的 Maven 项目时,IDEA 似乎没有将那些 VM 选项添加到应该设置的 Maven 调用中根据原型建立项目。
我的问题是:如何为所有项目配置 IntelliJ IDEA 15,以便它始终添加这些 VM 选项?
JJF的回答无效
澄清一下:这就是 IntelliJ IDEA 对具有 webapp 原型的新项目的 Maven 输出:
"C:\Program Files\Java\jdk1.7.0_79\bin\java" "-Dmaven.home=C:\Program Files
(x86)\JetBrains\IntelliJ IDEA 15.0.3\plugins\maven\lib\maven3"
"-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA
15.0.3\plugins\maven\lib\maven3\bin\m2.conf" -Dfile.encoding=UTF-8
-classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA
15.0.3\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar"
org.codehaus.classworlds.Launcher -Didea.version=15.0.3
-DinteractiveMode=false -DgroupId=test3 -DartifactId=test3 -Dversion=1.0-
SNAPSHOT -DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=RELEASE
org.apache.maven.plugins:maven-archetype-plugin:RELEASE:generate
这应该是自动添加的:
-DproxySet=true -DproxyHost=xxxxxxxxxxxxxxx -DproxyPort=8080
转到文件|设置|构建、执行、部署|构建工具|Maven|Runner。该对话框中有一个部分允许您定义属性。我在那里定义了一个测试 属性 并确认 IJ 在我生成新的 Maven 项目时将其添加到 Maven 命令行。
我找到了解决方案
只要您有包含代理部分的 settings.xml(通常在您的 .m2 文件夹中),您就不需要在 IntelliJ 中进行任何 Maven 设置:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<host>xxxxxxxxxxxxxxxxxxxxxx</host>
<port>8080</port>
</proxy>
</proxies>
...
</settings>
我的 IntelliJ IDEA 15 只能使用代理访问互联网。
因此,我可以配置 Maven->Importing 和 Maven->Runner 设置以包含
-DproxyXXXX=YYYY
虚拟机选项。这适用于我从 IDE
发起的所有 Maven 目标但是:当我从 archetype 创建一个新的 Maven 项目时,IDEA 似乎没有将那些 VM 选项添加到应该设置的 Maven 调用中根据原型建立项目。
我的问题是:如何为所有项目配置 IntelliJ IDEA 15,以便它始终添加这些 VM 选项?
JJF的回答无效
澄清一下:这就是 IntelliJ IDEA 对具有 webapp 原型的新项目的 Maven 输出:
"C:\Program Files\Java\jdk1.7.0_79\bin\java" "-Dmaven.home=C:\Program Files
(x86)\JetBrains\IntelliJ IDEA 15.0.3\plugins\maven\lib\maven3"
"-Dclassworlds.conf=C:\Program Files (x86)\JetBrains\IntelliJ IDEA
15.0.3\plugins\maven\lib\maven3\bin\m2.conf" -Dfile.encoding=UTF-8
-classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA
15.0.3\plugins\maven\lib\maven3\boot\plexus-classworlds-2.4.jar"
org.codehaus.classworlds.Launcher -Didea.version=15.0.3
-DinteractiveMode=false -DgroupId=test3 -DartifactId=test3 -Dversion=1.0-
SNAPSHOT -DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=RELEASE
org.apache.maven.plugins:maven-archetype-plugin:RELEASE:generate
这应该是自动添加的:
-DproxySet=true -DproxyHost=xxxxxxxxxxxxxxx -DproxyPort=8080
转到文件|设置|构建、执行、部署|构建工具|Maven|Runner。该对话框中有一个部分允许您定义属性。我在那里定义了一个测试 属性 并确认 IJ 在我生成新的 Maven 项目时将其添加到 Maven 命令行。
我找到了解决方案
只要您有包含代理部分的 settings.xml(通常在您的 .m2 文件夹中),您就不需要在 IntelliJ 中进行任何 Maven 设置:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<host>xxxxxxxxxxxxxxxxxxxxxx</host>
<port>8080</port>
</proxy>
</proxies>
...
</settings>