Próbuję skompilować mój projekt java z Javą 9. Używam pakietu java.xml.bind, więc do kompilacji muszę użyć opcji -addmods . Wydaje się, że Ant 1.9.7 nie obsługuje tej nowej funkcji. Czy opcja obsługi mrówek -addmods dla kompilatora Java 9?Obsługa mrówek dla java 9 addmods opcja
5
A
Odpowiedz
3
Nie ma żadnego wyraźnego wsparcia w żadnej opublikowanej wersji Ant w tym momencie. Ale powinieneś być w stanie korzystać z tego <jvmarg>
<java ....>
<jvmarg value="--add-modules"/>
<jvmarg value="module.name.to.add"/>
<jvmarg ..../>
</java>
Jeśli proszą o <javac>
zamiast <java>
, <compilerarg>
może być stosowany zamiast.
Istnieje wiele sposobów na to, że Java 9 zdoła złamać Ant - i 1.9.8 i 1.10.x będą zawierały wiele poprawek (wkrótce pojawią się nowe wydania po usunięciu ostatnich znanych problemów;). Obecnie nie ma wyraźnego wsparcia dla --add-modules
, jednak tylko dla modulepath
i upgrademodulepath
, które zostały dodane w Ant 1.9.7.
IMHO - byłby to jednak dobry wniosek o ulepszenie.
-1
Użyj przynajmniej Ant 1.10.1 i wykonaj następujące czynności w build.xml:
<condition property="java9">
<equals arg1="${ant.java.version}" arg2="9"/>
</condition>
<java classname="....." fork="true">
<classpath>
<pathelement location="...."/>
</classpath>
<jvmarg value="--add-modules" if:set="java9" />
<jvmarg value="java.xml.bind" if:set="java9" />
...
</java>
Zauważ, że '-addmods' został przemianowany na' --add-modules' w najnowszej Java 9 wcześniejszego dostępu buduje –