如何在maven编译时包含用户定义的包

时间:2013-07-30 10:02:02

标签: maven compilation

其次是我的项目结构。

com.company.univ.scheduler.api
--src
----com
-----company
-------univ
--------scheduler
----------api
------------annotation
           ---Column.java
           ---Id.java
           ---pom.xml
-------------model
           ----App.java
           ----job.java
           ----Task.java
           ----pom.xml
-------------service
           ----LockService.java
           ----ResultService.java
           ----TaskService.java
           ----pom.xml

在模型文件夹下,App.java必须导入注释的java文件。 像

import com.company.univ.scheduler.api.Column;
import com.company.univ.scheduler.api.Id;

同样,在各种文件夹下分发的所有文件都是相关的。如果maven pom.xml会处理这个问题吗?

P.S当maven编译时,总会显示错误消息,如"找不到符号;" "方法不能覆盖" .....我已经检查了那些java文件到目标行,但没有明显的错误可能发生,因为我们的项目是在Ant之前构建并且一切正常。

maven编译信息:

[ERROR] COMPILATION ERROR :
[INFO]-------------------------------------------------------
[ERROR] ..\com.company.univ.scheduler.api\src\com\company\univ\scheduler\api\model\Task.java:[7,50] package com.company.univ.scheduler.api doesnt exist
[ERROR] ..\com.company.univ.scheduler.api\src\com\company\univ\scheduler\api\model\Task.java:[8,50] package com.company.univ.scheduler.api doesnt exist [ERROR] ..\com.company.univ.scheduler.api\src\com\company\univ\scheduler\api\model\Task.java:[26,2] can not find symbol 
symbol:class Column
location:class com.company.univ.scheduler.api.model.task
[ERROR] ..\com.company.univ.scheduler.api\src\com\company\univ\scheduler\api\model\Task.java:[22,2] can not find symbol 
symbol:class Id
location:class com.company.univ.scheduler.api.model.task

1 个答案:

答案 0 :(得分:0)

Java源代码应该在src/main/java中,这是包层次结构的根。

强烈敦促您使用standard Maven directory layout

为什么每个包中都有pom文件?