2014-10-30 97 views
0

我在源文件夹src中的项目中包含de.ht.ak.praktikum.hook,但它应该从构建路径中排除。我用右键单击它并选择Build Path - > Exclude。由于每次更新项目时我都会将Maven添加到项目中,因此排除的文件夹会再次变成包,即排除将被删除。我试图解决这样说:从POM中的构建路径中排除软件包

... 
    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <resources> 
      <resource> 
       <directory>src</directory> 
       <excludes> 
        <exclude>de/ht/ak/praktikum/hook</exclude> 
       </excludes> 
      </resource> 
     </resources> 
    ... 
    </build> 
... 

我想也这样做所描述there

... 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-eclipse-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <sourceExcludes> 
       <sourceExclude>de/ht/ak/praktikum/hook/</sourceExclude> 
      </sourceExcludes> 
      <sourceIncludes> 
       <sourceInclude>**/*.java</sourceInclude> 
      </sourceIncludes> 
     </configuration> 
    </plugin> 
... 

但是,没有这两种方法帮助。有任何想法吗?

+0

如果你不想在jar中导出包,那么只需在包名中添加内部参数,例如:de.ht.ak.praktikum.internal.hook – StackFlowed 2014-10-30 20:08:28

+0

我不使用maven构建项目,而是仅仅为了管理依赖关系。排除提到的文件夹应该可以隐藏项目错误。 – 2014-10-30 20:11:37

回答

1

您的第一次尝试将不起作用,因为您指定将其排除为资源(即,那些打包在您生成的JAR文件中的文件 - 您通常不希望源文件在其中)。

第二次尝试更多的是在正确的轨道上。但是,您希望将它们排除在编译之外,因此您需要设置the exclude option of the maven-compiler-plugin。即,像这样:

<build> 
    .. 
    <plugins> 
    .. 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.2</version> 
     <configuration> 
     <excludes> 
      <exclude>de/ht/ak/praktikum/hook/*.java</exclude> 
     </excludes> 
     </configuration> 
    </plugin> 
    .. 
    </plugins> 
</build> 

当更新在Eclipse项目(Maven的 - >更新项目),Eclipse应当遵守这一配置,也从Eclipse内部构建路径排除。

+0

我的POM现在看起来像[this](http://pastie.org/9686444),但它没有帮助 - 文件夹仍然包含在构建路径中。 – 2014-10-30 21:08:57

+0

为什么你忽略了'* .java'通配符模式说明符?此外,有些人会将排在前面的源文件夹报告为成功,有些人则不会。为了安全起见,可以尝试在模式开始处加上'** /'(即'**/de/ht/ak/praktikum/hook/*。java'。 – misberner 2014-10-30 21:24:48

+0

我想排除整个文件夹,但是没关系,如果我使用通配符模式说明符或者没有,结果是一样的 – 2014-10-30 21:26:26

相关问题