我正在使用maven来完成我目前的项目。现在,我有战争依赖:
<dependency>
<groupId>org.dojotoolkit</groupId>
<artifactId>dojo-war</artifactId>
<version>1.8.1</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
我制作战争神器时没有任何问题。为此,我添加了这个插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<overlays>
<overlay>
<groupId>org.dojotoolkit</groupId>
<artifactId>dojo-war</artifactId>
<targetPath>js/dojo-1.8.1</targetPath>
<excludes>
<exclude>WEB-INF/**</exclude>
<exclude>META-INF/**</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
但是,当我运行以下mvn命令mvn tomcat7:run
时,我看不到任何javascript资源。看起来没有添加战争依赖。
有人可以帮我吗?
提前致谢。
答案 0 :(得分:0)
欢迎来到Stack Overflow Emelendez。
你应该阅读这篇文章:http://webtide.intalio.com/2008/07/dojo-toolkit-maven-repository/
事实上,dojo-war依赖项允许您向源添加一些文件,但是您必须指定一些额外的操作以将其包含在最终的战争中。
Maven中的依赖关系只能使用您尝试编译的语言(这不是很精确,但这就足够了)。如果要添加zip / war / targz中包含的其他资源(文件,图像,javascript),则必须明确地提取它们。这就是我之前提供的链接中提到的内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack dojo</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.dojotoolkit</groupId>
<artifactId>dojo</artifactId>
<version>${project.version}</version>
<type>zip</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/dojo</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
(小心,我不确定这个配置是否准确,根据你的pom.xml,你的依赖似乎是dojo-war,而不是按照doc所说的dojo)
这会将dojo libs提取到输出目录中,然后进入你的战争。