我正在从事一个java项目,我有3个项目:
-banking
-logger
-testframework
银行业务用于管理账户, logger用于银行业务以记录用户的操作和 testframework用于测试
我正在编译compile.sh和launch_banking.sh,这是我的问题: 当我启动launch_banking.sh时,我收到了这些错误:
firefrost@firefrost-PC:~/ProjetPOO3A$ bash launch_banking.sh
Exception in thread "main" java.lang.NoClassDefFoundError: logger/LoggerFactory
at banking.Launcher.main(Launcher.java:17)
Caused by: java.lang.ClassNotFoundException: logger.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
firefrost@firefrost-PC:~/ProjetPOO3A$
这是launch_banking.sh的内容:
java -classpath banking/bin banking.Launcher;
这是我编译项目的方式(compile.sh):
javac -d logger/bin $(find logger/src -name *.java);
javac -classpath logger/bin -d banking/bin $(find banking/src -name *.java);
我在Ubuntu下工作,我使用eclipse来编写我的projetc代码。 我被迫使用批处理文件来编译和启动我的projetc。
我做了一些研究,似乎我需要使用依赖,但我不知道它们是什么。
这是项目的结构:
+--_logger
| +-- _src
| | +-- _logger
| | +-- (.java)
| +-- _bin
+-- _testframework
| +-- _src
| | +-- _test
| | +-- (.java)
| +-- _bin
+-- _banking
| +-- _src
| | +-- _banking
| | +-- (*.java)
| +-- _bin
+-- compile.sh
+-- test.sh
+-- launch_banking.sh
+-- README.md
答案 0 :(得分:1)
为了使用另一个目录中的类,您需要在classpath中将它们定义为:
SHOW CREATE TABLE
这将告诉程序在记录器和银行目录中搜索类