составление упакованного проекта в зависимости от фляги - PullRequest
0 голосов
/ 03 декабря 2011

Мне кажется, это тривиальный вопрос, но у меня было много проблем с получением ответа.

Я разработал проект в Eclipse, который зависит от файла JAR, который находитсяв корневом каталоге проекта.Все мои файлы находятся в пакете "abc" в папке src.В затмении все работает отлично.Теперь я хочу запустить этот проект из командной строки.Я делаю эту команду для компиляции проекта:

javac -classpath dependency.jar -d ./bin/ ./src/a/b/c/*.java

Все скомпилировано в файлы классов и помещено в папку bin / a / b / c.Затем я выполняю следующие команды для запуска проекта:

cd bin

java -cp ../dependency.jar abcMain

Теперь я получаю "java.lang.NoClassDefFoundError: a / b / c / Main ".

Итак, как мне запустить проект, который находится в пакете и зависит от файла JAR?

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

Просто включите текущий каталог в classpath - т.е. java -cp ../dependency.jar:. a.b.c.Main

1 голос
/ 03 декабря 2011

Вам также необходимо указать ваши скомпилированные файлы в classpath, они будут содержать ваш a.b.c.Main. На компьютерах с * nix разделителем пути для cp является двоеточие (:), а на окнах - точка с запятой (;), поэтому на * nix ваша команда запуска должна быть (потому что вы запускаете из корзины) каталог):

java -cp ../dependency.jar:. a.b.c.Main
...