私はJavaアプリケーションを開発しています。ネットワーク アクセスをブロックするために、セキュリティが制限された JVM で単体テストを実行したいと考えています。
JVM にオプションを追加-Djava.security.manager=default -Djava.security.policy=...file...
し、セキュリティ マネージャが有効になりました。
テストを実行し、どのようなセキュリティ違反が発生するかを確認し、ポリシー ファイルでそれを許可することを数回繰り返しました。しかし今では、セキュリティ違反はもうありません。代わりに、これ:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.onebusaway.alexa.AuthedSpeechletTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.143 sec <<< FAILURE! - in org.onebusaway.alexa.AuthedSpeechletTest
org.onebusaway.alexa.AuthedSpeechletTest Time elapsed: 0.06 sec <<< ERROR!
java.lang.NoClassDefFoundError: org.junit.runner.Runner
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:364)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
Running org.onebusaway.alexa.MainSpeechletEmptyTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.001 sec <<< FAILURE! - in org.onebusaway.alexa.MainSpeechletEmptyTest
org.onebusaway.alexa.MainSpeechletEmptyTest Time elapsed: 0 sec <<< ERROR!
java.lang.NoClassDefFoundError: org.junit.runner.Runner
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:364)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
Results :
Tests in error:
JUnit4Provider.invoke:161->executeTestSet:238->executeWithRerun:274->execute:364 » NoClassDefFound
JUnit4Provider.invoke:161->executeTestSet:238->executeWithRerun:274->execute:364 » NoClassDefFound
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
ここで違反しているセキュリティ ポリシーを正確に確認するにはどうすればよいですか? (私は で再実行しようとしまし-X
たが、それは何も新しいことを明らかにしませんでした。)