System.loadLibrary(JudgerCore)报错
LyamAL opened this issue · comments
相关代码:
try {
NativeLibraryLoader.loadLibrary("JudgerCore");
} catch (Exception ex) {
//...
}
报错如下:
[DEBUG] 2021-02-10 13:17:04,247 [main] org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'runner'
java.lang.NullPointerException
at org.verwandlung.voj.judger.util.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:91)
at org.verwandlung.voj.judger.core.Runner.(Runner.java:234)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172)
想问一下这个dll是根据cpp里的Judger.Core.Runner生成的吗?怎么解决0.0
牛年快乐!!感谢帮助!!
makefile后生成一个dll.
我把它放在环境变量下
报错:
java.lang.UnsatisfiedLinkError: D:\xx\JudgerCore.dll: 找不到指定的程序。
Please read README.md carefully.
不是根据PATH找的JudgerCore.dll。
正常情况下,你执行如下命令就可以。
如果不可以,请提供详细的Logs。
cd %JAVA_HOME%\include\win32
copy jawt_md.h ..
copy jni_md.h ..
cd judger
mvn package -DskipTests