【发布时间】:2018-01-15 13:49:04
【问题描述】:
我知道标题并没有完全描述我的问题,但我不知道还能问这个问题。我知道有工具可以做到这一点,但我想了解编译器在 java 中是如何工作的,我编写了一些非常基本的代码,并且我能够使用
毫无问题地编译它们javac -sourcepath java -d ../target/dir1 java/shapes/mainclass/TestRun.java
在命令行中,但仅当packages 位于下图所示的同一源目录中时才有效
我希望能够从我的package 在其他源目录中的命令行编译,请看下图
有人知道我该怎么做吗?我尝试将命令行修改为
javac -sourcepath java -d ../target/ java/dir1/shapes/mainclass/TestRun.java 但这会导致以下错误
java\dir1\shapes\mainclass\TestRun.java:3: error: package shapes.classes does not exist
import shapes.classes.*;
^
java\dir1\shapes\mainclass\TestRun.java:8: error: cannot find symbol
ShapeMain circle = new Circle(5);
^
symbol: class ShapeMain
location: class TestRun
java\dir1\shapes\mainclass\TestRun.java:8: error: cannot find symbol
ShapeMain circle = new Circle(5);
^
symbol: class Circle
location: class TestRun
java\dir1\shapes\mainclass\TestRun.java:9: error: cannot find symbol
ShapeMain rectangle = new Rectangle(8, 9.9);
^
symbol: class ShapeMain
location: class TestRun
java\dir1\shapes\mainclass\TestRun.java:9: error: cannot find symbol
ShapeMain rectangle = new Rectangle(8, 9.9);
^
symbol: class Rectangle
location: class TestRun
java\dir1\shapes\mainclass\TestRun.java:10: error: cannot find symbol
ShapeMain triangle = new Triangle(10, 4.5);
^
symbol: class ShapeMain
location: class TestRun
java\dir1\shapes\mainclass\TestRun.java:10: error: cannot find symbol
ShapeMain triangle = new Triangle(10, 4.5);
^
symbol: class Triangle
location: class TestRun
7 errors
任何帮助将不胜感激
【问题讨论】:
-
另一种方法是定义两个不同的项目。
标签: java command-line compilation