Starwars は見たのでネタバレだいじょうぶ〜 で、Fedora Linux Kernel の debug の方は片付いたので、
次は、Java Pathfinder on Java9
いや、Java8 では動いているので、別に無理して Java9 で動かす必要はないんですけどね。
で、Mercurital repository
http://babelfish.arc.nasa.gov/hg/jpf/jpf-core
から取ってくるわけですが、VM API使って Java で Model検査しようってものだからなぁ... last update 2/6 のjdk8u121用ですか。
というわけで、ばっちり ant build できない。
new Integer とかは無視して良いらしいけど、いろいろないと言っている。
Java9 で module system が導入されて、ついでに VM 系がどっかに追いやられたらしい。もう一つは、
Pathfinder は annotationsg classes examples main peers tests
と module 分けされているのだが、Java9 では、module-info.java で
main/module-info.java
module gov.nasa.jpf {
requires jdk.unsupported;
requires java.logging;
requires java.management;
requires javafx.swing;
requires gov.nasa.jpf.annotation;
}
と明示的に記述してやらないといけないらしい。とググると出てくるわけですが、module-info.java は gov.nasa とかが置かれている top に置かないとだめらしい。
jpf は and なので、build.xml をいじるわけですが、
<javac srcdir="src/main" destdir="build/main" includeantruntime="false"
debug="${debug}" deprecation="${deprecation}" classpathref="lib.path">
<compilerarg value="--module-path"/>
<compilerarg value="build/annotations"/>
<compilerarg value="--add-exports" />
<compilerarg value="java.xml/com.sun.org.apache.bcel.internal.generic=gov.nasa.jpf"/>
<compilerarg value="--add-exports" />
<compilerarg value="java.base/jdk.internal.misc=gov.nasa.jpf"/>
と、こんな感じで module path を指定してやると良いようです。
ant |& grep error
[javac] jpf-core/src/main/gov/nasa/jpf/vm/HashedAllocationContext.java:111: error: cannot find symbol
[javac] jpf-core/src/main/gov/nasa/jpf/vm/HashedAllocationContext.java:115: error: cannot find symbol
[javac] 2 errors
jpf-core/build.xml:103: Compile failed; see the compiler error output for details.
まで来たが...
が、まだ、動いてない... classes に Java5 互換用の java/lang とかある。java のpackage を上書きしているこいつ、なんとかなるのか?!
なんとかなるなら、御本家の方がなんとかしているんじゃないか説。動かないかもな〜
No comments:
Post a Comment