我正试图使用Maven来使用Sonateype flexmojos构建一个Flex项目。我已经设置了这个项目,在它尝试从Sonatetype存储库下载各种swc文件之前,构建基本上是有效的,例如
正在下载:http://repository.sonatype.org/content/groups/flexgroup/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958.rb.swc正在下载:http://repository.sonatype.org/content/groups/flexgroup/com/adobe/flex/framework/flex/3.2.0.3958/flex-3.2.0.3958.swc。。。
下载中没有错误,但由于某种原因,swc文件没有出现在本地存储库中,因此构建失败。。。
[错误]无法在项目应用程序上执行目标:无法解析的依赖项r项目…:swf:1.0-SNAPSHOT:以下项目无法被解析:com.adobe.flex.framework:flex:swc:3.2.0.3958。。。
现在,如果我手动转到Sonateype存储库,下载swc并将其复制到本地存储库中的正确位置,那么这将起作用。同样,如果我尝试使用Maven安装目标安装swc文件,那么它会再次表示文件已安装,但它不在存储库中,例如…
mvn安装:安装文件-Dfile=flex-3.2.0.3958-DgroupId=com.adobe.flex.framework-DartifactId=flex-D版本=3.2.0.3958-D封装=swc
报告BUILD SUCCESS,但swc文件未显示在存储库中。
pom.xml(由flexmojos原型应用程序mojo生成)如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.aaa.app</groupId>
<artifactId>app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>swf</packaging>
<name>app Flex</name>
<build>
<sourceDirectory>src/main/flex</sourceDirectory>
<testSourceDirectory>src/test/flex</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>3.5.0</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.adobe.flex.framework</groupId>
<artifactId>flex-framework</artifactId>
<version>3.2.0.3958</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.adobe.flexunit</groupId>
<artifactId>flexunit</artifactId>
<version>0.85</version>
<type>swc</type>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile><!--https://docs.sonatype.org/pages/viewpage.action?pageId=2949459-->
<id>m2e</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.maven.ide.eclipse</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>0.9.9-SNAPSHOT</version>
<configuration>
<mappingId>customizable</mappingId>
<configurators>
<configurator id='org.maven.ide.eclipse.configuration.flex.configurator' />
</configurators>
<mojoExecutions>
<mojoExecution>org.apache.maven.plugins:maven-resources-plugin::</mojoExecution>
</mojoExecutions>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>
有人知道我做错了什么吗?!谢谢
有趣。我的第一个直觉是,它们正在被下载,但当他们试图将其移动到目录中时,某些东西会悄无声息地失败。我会检查文件夹权限。你的maven文件看起来很好,构建也说明了同样的事情。不过,拯救swc还是有问题的。你在另一台电脑上试过这个吗?
所有,谢谢你的帮助,但我发现了问题。实际上,我在一个代理后面,这个代理显然是为了阻止这个特定的存储库和swc文件而设置的。这很奇怪,因为我实际上可以在repo浏览器中导航到文件并手动下载,但当使用完整的URL时,它会被代理阻止!不幸的是,尽管在一条很长的错误消息中实际上嵌入了一条"拒绝访问"消息,但Maven并没有真正明确这一点。解决方案是使用https而不是http,http可以简单地通过代理进行隧道传输。