gpt4 book ai didi

java - 从位于网络服务器上运行 java 程序。

转载 作者:行者123 更新时间:2023-12-02 07:27:06 25 4
gpt4 key购买 nike

我有一个使用以下命令运行的 java 应用程序:

java -cp .;lib\*;myapp.jar com.app.myapp.MyAppStart

myapp.jar 位于具有以下文件和结构的文件夹中

/demo
/lib
/conf
myapp.jar
myapp.bat

myapp.bat 包含上述运行命令,因此当您双击它时,它会运行该程序。如果我将文件夹复制到本地路径,一切正常。例如,如果文件夹位于c:\program\myapps\demo 我可以进入该文件夹并双击 myapp.bat 脚本,程序就会启动。

我现在遇到的问题是我想将演示文件夹复制到网络上的路径。我通过将其复制到 \\London-server01\applications\client\demo\ 进行测试,但这引发了以下异常

Exception in thread "main" java.lang.NoClassDefFoundError: com/app.myapp/MyAppStart
Caused by: java.lang.ClassNotFoundException: com.app.myapp.MyAppStart
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
Could not find the main class: com.app.myapp.MyAppStart. Program will exit.

看起来它不喜欢该程序是从网络驱动器运行的事实。我尝试了一种不同的方法,将 \\London-server01\applications\client\demo\ 映射到本地驱动器号,然后工作正常,没有任何问题。仅当我使用完整的网络路径访问该文件夹时,它才无法工作。有什么方法可以让它工作而不需要映射网络路径吗?

最佳答案

而是使用 . (对于当前目录)。将其分配给一个变量并使用整个路径限定该 jar 来运行它。

设置 MY_JAR_PATH=\London-server01\applications\client\demo\

java -cp %MY_JAR_PATH%;lib*;%MY_JAR_PATH%\myapp.jar com.app.myapp.MyAppStart

这可能有帮助!

关于java - 从位于网络服务器上运行 java 程序。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com