当您无法在python中执行.bat文件而手动执行时,这是非常令人沮丧的。我在这里附加我的代码:directory = 'E:/'with open(os.path.join(directory, 'output_file.bat'), 'w') as OPATH: OPATH.writelines(['"""',"\n"'E:',"\n", 'javacCreatingUser.java',"\n",'javaCreatingUser',"\n",'"""'])os.system("E:/output_file.bat")以上是我的python代码,它正在创建一个带有2个java命令的bat文件javac CreatingUser.javajava CreatingUser我可以手动运行.bat文件,它工作正常,但我的python脚本给我以下错误:java.lang.NoClassDefFoundError: oracle/iam/identity/exception/ValidationFailedException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)Caused by: java.lang.ClassNotFoundException: oracle.iam.identity.exception.ValidationFailedException at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 moreError: A JNI error has occurred, please check your installation and try againException in thread "main" '"""' is not recognized as an internal or external command,operable program or batch file.问题是,如果我的文件中缺少一些类,那么它也不应该手动执行,但手动执行是可以的。
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
javac CreatingUser.java
java CreatingUser
这就是问题的根源:您只编译一个类文件,然后在没有类路径的情况下调用该类。
Java有一个类似于Python的类的搜索路径,称为classpath。PYTHONPATH
你可以试试这个:
javac CreatingUser.java
java -classpath YOUR_CLASSPATH CreatingUser
YOUR_CLASSPATH可以是冒号 (Linux) 或分号 (Windows) 分隔的 JAR 文件列表和包含类文件的目录。让你的类路径指向你需要的 JAR,你没事。
添加回答
举报
0/150
提交
取消