将Maven依赖复制到项目结构中

时间:2015-10-27 16:39:41

标签: java eclipse maven

我已经暂时停留在一个特定的Maven任务上了一段时间,而且我还没能找到任何具体的任务。

我试图在我的内部Maven存储库(Sonatype Nexus)中托管一些文件作为依赖项。问题是,我需要将放入项目结构中的特定文件夹

换句话说,我需要将依赖关系A放入/ src / WebContent / VAADIN / themes / $ {project.name} /

查看this helpful page from the Maven website我能够将依赖项复制到我想要的确切位置的硬盘上,但它实际上并不是项目本身的一部分,所以其他类不知道它& #39;在那里。这是确切的代码,但它主要是来自链接页面的副本:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.10</version>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>com.dsa.mobi</groupId>
                        <artifactId>DSAStyles</artifactId>
                        <version>1.0.0</version>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <outputDirectory>${project.build.sourceDirectory}/main/webapp/VAADIN/themes/${project.name}/</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
  </plugin>

任何帮助都会受到高度赞赏,即使它只是链接到某些可能清除它的文档的链接 - 我查看了Maven的所有XML文档,这些文档很容易找到并且让人感到困惑。导航,但我还没有找到这个&gt;。&gt;

的万能药

提前致谢!

编辑:

这是Eclipse项目资源管理器中文件夹结构的图像: Project Structure

正如您所看到的,只有addons.scss和fisafetyapp.scss显示在此文件夹中,而我试图让Maven /依赖项将文件插入到这个确切的位置。

在磁盘上,依赖项正确放置在此文件夹中,即C:/ myuser / fisafetyapp / src / main / webcontent / vaadin / themes / fisafetyapp /。但是,它没有出现在Project Explorer中,因为该位置非常具体,所以不会让其他文件看到它。

2 个答案:

答案 0 :(得分:0)

你的陈述是正确的,不要忘记在你的pom声明中依赖:

<dependency>
   <groupId>com.dsa.mobi</groupId>
   <artifactId>DSAStyles</artifactId>
   <version>1.0.0</version> 
</dependency>

答案 1 :(得分:0)

将带有maven-dependency-plugin的依赖项复制到src/main/resources阶段中的generate-resources文件夹中(不要忘记将这些文件添加到源代码管理忽略列表中) 。然后资源插件会自动将其复制到target/classes文件夹中,它也会自动添加到您的最终工件中。