Package not found; javac

你。 提交于 2019-11-28 04:37:24

问题


This is annoying.

I have a directory structure like this

-lib
   --some jar files

-packageName
   --Main.java
   --SomeOtherPackage
      --SomeOtherJavaClass.java

Main.java imports SomeOtherPackage. And both java files uses jars in the lib.

What I do is add the jar files independently in the CLASSPATH. And then run as: javac packageName/Main.java

but it gives the error that Package not found SomeOtherPackage . Shouldn't it automatically realize the dependency and build SomeOtherPackage as well? What would be the javac command and the classpath for the above case?

Thanks


回答1:


The normal practice is to add the package root to the classpath.

When you're already in the package root, use -cp .. E.g.

cd /path/to/all/packages
javac -cp . packageName/Main.java

If you want to include JAR files as well, use the ; (or in *nix, the :) as classpath path separator:

javac -cp .;lib/file.jar packageName/Main.java

To save the time in repeating all the typing of shell commands, use a .bat (or in *nix a .sh) file. Or just an IDE if you're already familiar with java/javac and so on.




回答2:


You need to add packageName to the CLASSPATH so it can find SomeOtherPackage



来源:https://stackoverflow.com/questions/3041543/package-not-found-javac

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!