我们正在使用 maven 使用flex-mojo构建一个 flex 项目,这很棒。问题是我无法将 pom 中指定的 swc 依赖项添加到 flex 构建路径中。据我所知,Flex Builder 只允许您使用绝对路径,因此即使使用m2eclipse 插件添加 maven 支持,它也看不到 maven 依赖项。
有没有人找到一种在不复制依赖项的情况下同时使用 maven 和 Flex Builder 构建的方法?
我们正在使用 maven 使用flex-mojo构建一个 flex 项目,这很棒。问题是我无法将 pom 中指定的 swc 依赖项添加到 flex 构建路径中。据我所知,Flex Builder 只允许您使用绝对路径,因此即使使用m2eclipse 插件添加 maven 支持,它也看不到 maven 依赖项。
有没有人找到一种在不复制依赖项的情况下同时使用 maven 和 Flex Builder 构建的方法?
Flex-mojos 现在支持使用flexmojos:flexbuilder
目标来执行此操作。它对于嵌套项目并不完美,但似乎在所有其他情况下都可以正常工作。
这不是一个特别优雅的答案,但它可能符合您的目的。
您可以使用 maven-dependency-plugin 将类路径输出到文件。build-classpath是相关的目标。下面的配置会将Maven的类路径输出到[项目目录]/target/.mavenClasspath
您可以编写一个小脚本或 ant 任务来读取 .mavenClasspath 文件内容并将条目附加到 Eclipse .classpath。如果您使脚本更智能并删除以前的条目,然后将其设置为外部构建器,您将拥有一个几乎集成的解决方案。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>output-classpath</id>
<phase>package</phase>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<outputFile>${project.build.directory}.mavenClasspath</outputFile>
</configuration>
</execution>
</executions>
</plugin>
Flex Builder 现在可以处理相对路径(参见错误报告);您可以将它们添加到您的 .actionScriptProperties 中,如下所示:
<libraryPathEntry kind="3" linkType="1" path="${M2_HOME}/repository/flexlib/flexlib/2.4/flexunit-2.4.swc" useDefaultLinkType="false"/>