我正在尝试使用Maven来使用Sonatype flexmojos构建Flex项目。我已经设置了项目,并且构建主要工作,直到它尝试从Sonatype存储库下载各种swc文件,例如。
Downloading: http://repository.sonatype.org/content/groups/flexgroup/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958.rb.swc Downloading: http://repository.sonatype.org/content/groups/flexgroup/com/adobe/flex/framework/flex/3.2.0.3958/flex-3.2.0.3958.swc ...
下载中没有错误,但由于某种原因,swc文件没有出现在本地存储库中,因此构建失败......
[ERROR] Failed to execute goal on project app: Could not resolve dependencies fo r project ...:swf:1.0-SNAPSHOT: The following artifacts could not be resolved: com.adobe.flex.framework:flex:swc:3.2.0.3958...
现在,如果我手动转到Sonatype存储库并下载swc并将其复制到本地存储库中的正确位置,那么这将有效。同样,如果我尝试使用Maven安装目标安装swc文件,那么它再次表示文件已安装,但它不在存储库中,例如......
mvn install:install-file -Dfile=flex-3.2.0.3958 -DgroupId=com.adobe .flex.framework -DartifactId=flex -Dversion=3.2.0.3958 -Dpackaging=swc
...报告BUILD SUCCESS,但swc文件未出现在存储库中。
pom.xml(由flexmojos-archetypes-application 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>
有谁知道我做错了什么?! 感谢。
答案 0 :(得分:0)
有趣。我的第一个直觉是它们正在被下载,但是当它们试图将它移动到目录时,某些东西会无声地失败。我会检查文件夹权限。你maven文件看起来很好,构建说同样的事情。但是保存swcs有问题。你有没有在另一台电脑上试过这个?
答案 1 :(得分:0)
全部,感谢您的帮助,但我发现了问题。我实际上是在代理之后,显然已经设置为以某种方式阻止这个特定的存储库和swc文件。这很奇怪,因为我实际上可以导航到repo浏览器中的文件并手动下载,但是当使用完整的URL时,代理会阻止它!不幸的是,Maven并没有真正明确这一点,尽管“访问被拒绝”消息实际上存在于一个非常长的错误消息中。解决方案是使用https而不是http,它可以简单地通过代理隧道。