maven pom问题包括来自另一个目录的类

时间:2010-06-23 06:40:13

标签: maven-2

我尝试使用maven编译我的项目但是我收到错误

C:\Projekti\KIS\Model\src\irc\kis\model\hab\entity\TipiDokumentovImpl.java:[3,48] package irc.irc2000.classCustomization.model

C:\Projekti\KIS\Model\src\irc\kis\model\hab\entity\TipiDokumentovImpl.java:[5,28] package irc.irc2000.security does not exist

因为我从另一个目录导入了两个包

import irc.irc2000.classCustomization.model.adf.IrcEntityImpl;
import irc.irc2000.security.Uporabnik;

如何在第二个目录中包含此类,maven在编译该项目时会看到它?

POM文件:

<build>
        <sourceDirectory>C:\Projekti\KIS\Model\src</sourceDirectory>
        <outputDirectory>C:\Projekti\KIS\Model\classes</outputDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <encoding>Cp1250</encoding>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-idea-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    <dependenciesAsLibraries>true</dependenciesAsLibraries>
                    <useFullNames>false</useFullNames>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>C:\Projekti\KIS\Model\src</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
    </build>

感谢所有人的帮助

1 个答案:

答案 0 :(得分:3)

您可以使用Maven Build Helper插件及其build-helper:add-source目标向POM添加更多源目录。从使用页面:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>some directory</source>
                ...
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

但是我几乎为提供解决方案感到内疚......真正好的建议是重构所有内容并使另一个项目成为一个maven项目(并将其声明为依赖项)。