我在运行Java项目时遇到问题。
E:\Workspace\compiled>java -classpath server\libraries\log4j-1.2.16.jar;E:\Workspace\compiled\server\service-1.0-SNAPSHOT.jar;E:\Workspace\compiled\server\libraries\log4j-1.2.16.jar -Djava.security.policy=E:\Workspace\compiled\socket.policy -Djava.rmi.server.codebase=file:///E:\Workspace\compiled\server\service-1.0-SNAPSHOT.jar -jar E:\Workspace\compiled\server\service-1.0-SNAPSHOT.jar E:\Workspace\compiled\log4j.properties
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
at pwr.mgr.server.service.Launcher.main(Launcher.java:18)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.PropertyConfigurator
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)
... 1 more
它使用maven编译,最终得到.jar文件。我今天决定,我将使用log4j代替wimple System.out进行日志记录…在此更改之前,它工作正常
这是我的运行方式
java -cp .;%SRV_ADDR%;%SRV_LIBS% -Djava.security.policy=%POLICY_FILE% -Djava.rmi.server.codebase=file:///%SRV_ADDR% pwr.mgr.server.service.Launcher %CD%\log4j.properties
SRV_ADDR指向我的service.jar(带有Launcher类)
SRV_LIBS指向log4j-1.2.16.jar
我加了“。;” 一开始希望它会有所帮助,因为提到的文件在我尝试启动的子目录中。
我还应该提到我需要在这里某个地方保存log4j库,因为我将把我的应用程序移动到另一台机器上,而且我不知道在那里需要什么库,也许只是纯Java,所以我需要将所有内容都打包到一个包中。
如果有人对Launcher类感兴趣,这很简单:
public class Launcher {
public static void main(String args[]) {
PropertyConfigurator.configure(args[0]);
if (System.getSecurityManager() == null) {
System.setSecurityManager(new SecurityManager());
}
try {
Runtime.getRuntime().exec("rmiregistry");
ServerIntf obj = new Server();
Registry registry = LocateRegistry.getRegistry();
registry.rebind("Server", obj);
System.out.println("Server bound in registry");
} catch (Exception e) {
System.out.println("Server err: " + e.getMessage());
e.printStackTrace();
}
}
}
有人知道我在做什么错吗?也许仅添加一个log4j jar文件是不够的?我从maven存储库复制了它。
EDIT1 已经将我指向的jar从log4j-1.2.16-javadoc.jar更改为log4j-1.2.16.jar,但没有帮助
使用时java -jar ...
,将-classpath
忽略该参数。在主jar的清单中指定所有必需的jar(但您只能在其中使用相对路径),或者将主jar添加到-classpath
并在命令行上提及主类。
是的,我也不喜欢这样。
我对在java中使用包相当陌生,但我有一个文件结构: 项目 com 主 Billing.java Password.java 每个java文件都有包src。com。主要 位于顶部。我正在使用javac-d从项目文件夹进行编译/类别//src/com/main/*。java,它编译得很好。当我使用java类/src/com/main/Billing来运行它时,is给了我一个NoClassDefFou
问题内容: 到目前为止,我有两个测试。一个仅使用jUnit框架即可正常工作。另一个使用spring-test库并在每次尝试运行该异常时创建此异常。有什么想法可能导致问题吗? Error Maven test dependencies Dependency tree 问题答案: 你是否正在使用旧版本的Eclipse(Galileo或更低版本)?还是旧版的junit插件?如果是这样,则可能是问题的原因
问题内容: 我已经搜索了互联网的最深处,但似乎找不到答案-.- 问题出在我要编写的javaFx程序中。但是除了添加控制器类,我无能为力了。我遵循了几乎所有可以找到的教程,但是这个问题对我来说仍然是未知的。 这是例外: 这是代码。有三个类:Main.class,我使用SceneBuilder 2创建的MainUI.fxml和显然应作为mainuis控制器工作的MainUIController.cla
问题内容: 我米试图所以我删除了外部化的aop.xml中配置的,并使其在通过系统管理者服务器进行手动配置提供。 当我尝试使用以下外部aop.xml时 我主要是因为当时还没有加载aj casse 。下次它尝试从中注册各方面时(在加载所有类之后),它可以正常工作,但是我仍然从第一次尝试注册时记录到异常。 在第307行捕获并记录了异常。 当调用以下行时:success = registerAspects
尝试运行lint脚本时出现问题 我不断得到这个错误提示,它似乎只发生在更新我的eslint deps符合airbnb规则(我使用) 错误: 但是,运行以下工作预期: 这是我的. eslintrc文件: 这些是我目前的eslint deps: 任何帮助将是伟大的!非常感谢!
当我尝试运行一个简单的JUnit 5测试(eclipse)时,我遇到了以下错误: 这是我的: 我尝试过类似问题的一些建议,比如这个github问题和其他问题,但是没有成功。我还在学习JUnit,所以我可能会忘记一些显而易见的东西。