2016-09-01 42 views
5

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

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.

+3

Zauważ, że '-addmods' został przemianowany na' --add-modules' w najnowszej Java 9 wcześniejszego dostępu buduje –

-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>