我有一個情況,我們用JSmooth包裝一個jar來獲得一個合適的exe文件。maven - > ant - > jsmoothgen:如何提供-Djava.awt.headless = true?
傳統上這是由ant構建的,作爲我們一般的mavenification的一部分,目前的短期解決方案是使用maven-antrun-plugin來設置一個屬性並調用ant。
不幸的是,這種方法在Unix上構建時失敗(因爲沒有X11顯示器可用),並且解決方案是用-Djava.awt.headless=true
調用JVM。我想在我的pom.xml中執行此操作,但無法確定在哪裏執行此操作。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<!-- create one-jar and exefy it -->
<property name="maven.project.build.finalName" value="${project.build.finalName}" />
<!-- note: fails on headless Linux for now -->
<ant />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
可以直接fork一個新的JVM,但不依賴平臺的細節。
我該如何正確地做到這一點?
你能提供你正在調用的ant'build.xml'文件的內容嗎? –