Maven无法下载swc文件

时间:2011-06-20 13:52:49

标签: flex maven install swc sonatype

我正在尝试使用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>

有谁知道我做错了什么?! 感谢。

2 个答案:

答案 0 :(得分:0)

有趣。我的第一个直觉是它们正在被下载,但是当它们试图将它移动到目录时,某些东西会无声地失败。我会检查文件夹权限。你maven文件看起来很好,构建说同样的事情。但是保存swcs有问题。你有没有在另一台电脑上试过这个?

答案 1 :(得分:0)

全部,感谢您的帮助,但我发现了问题。我实际上是在代理之后,显然已经设置为以某种方式阻止这个特定的存储库和swc文件。这很奇怪,因为我实际上可以导航到repo浏览器中的文件并手动下载,但是当使用完整的URL时,代理会阻止它!不幸的是,Maven并没有真正明确这一点,尽管“访问被拒绝”消息实际上存在于一个非常长的错误消息中。解决方案是使用https而不是http,它可以简单地通过代理隧道。