MappingTool に問題があります。Java ソース ファイルで実行すると、java.lang.ClassNotFoundException がスローされ続けます。クラスパスの問題のように感じますが、よくわかりません。以下をご覧ください。
私は次のように実行します:
java -cp .:openjpa-2.2.1.jar:openjpa-all-2.2.1.jar:/home/vic/tmp/test/src
org.apache.openjpa.jdbc.meta.MappingTool -p ~/tmp/test/persistence.xml
~/tmp/test/src/java/org/mag/Magazine.java
これを返します:
Exception in thread "main" java.lang.IllegalArgumentException:
java.lang.ClassNotFoundException: org.mag.Magazine
at serp.util.Strings.toClass(Strings.java:164)
at serp.util.Strings.toClass(Strings.java:108)
at
org.apache.openjpa.lib.meta.ClassArgParser.parseTypes(ClassArgParser.java:164)
at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1035)
at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:1001)
at org.apache.openjpa.jdbc.meta.MappingTool$1.run(MappingTool.java:937)
at
org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:748)
at
org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:738)
at org.apache.openjpa.jdbc.meta.MappingTool.main(MappingTool.java:932)
Magazine.java は次のようになります。
package org.mag;
@Entity
@IdClass(Magazine.MagazineId.class)
public class Magazine {
public static class MagazineId {
}
}
ありがとう