如何将src外部文件夹中的Java类导入src内部的包中?
不移动外部文件夹导入Java类的最简单方法
根据你的需求,不用移动toolbox文件夹就能让src内的collision detection包导入其中的Java类,以下是不同场景下的最简实现方法:
IDE环境(IntelliJ IDEA/Eclipse)
这是最直观的日常开发方式:
IntelliJ IDEA:
- 打开
File → Project Structure(快捷键Ctrl+Alt+Shift+S) - 选择左侧
Modules,切换到Sources标签 - 点击
Add Content Root,选中外部的toolbox文件夹 - 将该文件夹标记为
Sources(避免IDE误报非源码目录)
完成后直接在collision detection包的类中导入目标类,比如:import toolbox.YourTargetClass;
- 打开
Eclipse:
- 右键项目 →
Build Path → Add External Class Folder - 选中外部的
toolbox文件夹并确认
之后即可直接导入目标类。
- 右键项目 →
命令行编译/运行
如果使用原生javac和java命令,通过-cp(classpath)参数指定外部目录:
- 编译命令示例(假设
toolbox在项目根目录的同级目录):javac -cp ../toolbox src/your/package/collision/*.java - 运行命令示例:
java -cp ../toolbox:src your.package.collision.YourMainClass
Maven项目
可通过两种方式配置:
方式1:添加System依赖
在pom.xml中加入:
<dependency> <groupId>local.toolbox</groupId> <artifactId>toolbox</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/../toolbox</systemPath> </dependency>
方式2:将toolbox添加为源码目录
使用build-helper-maven-plugin扩展源码路径:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <id>add-external-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${project.basedir}/../toolbox</source> </sources> </configuration> </execution> </executions> </plugin> </plugins> </build>
Gradle项目
在build.gradle中扩展sourceSets,将toolbox加入源码目录:
sourceSets { main { java { srcDirs += '../toolbox' } } }
注意事项
确保toolbox文件夹下的Java类有正确的包声明,比如类文件开头要写package toolbox;,否则导入时会找不到类。
内容的提问来源于stack exchange,提问作者idpop48
相关产品推荐
相关产品推荐

