只需将我的Android项目移至Maven/Jenkins,然后探索构建/编译/测试过程。
问题:
我在Java代码中引入了一个简单的编译错误,但是当我运行mvn clean install package时,我获得了构建成功。只有当我将应用程序部署到我的设备时,它才会崩溃并失败。
我的POM出问题了吗?
ps。我有XXXXX了一些信息。不用担心
<?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>
<parent>
<groupId>xxxxx</groupId>
<artifactId>xxxxxx</artifactId>
<version>1.0.0</version>
</parent>
<groupId>xxxxx</groupId>
<artifactId>xxxx</artifactId>
<version>1.0.0</version>
<packaging>apk</packaging>
<name>Android App</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.0.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.actionbarsherlock</groupId>
<artifactId>library</artifactId>
<version>4.0.0</version>
<type>apklib</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
<assetsDirectory>${project.basedir}/assets</assetsDirectory>
<resourceDirectory>${project.basedir}/res</resourceDirectory>
<nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
<sdk>
<platform>15</platform>
<path>/Users/aidenfry/android-sdks</path>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<extensions>true</extensions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
最佳答案
我怀疑,您没有看到错误的原因很可能是因为maven首先根本没有费心编译您的类。
Maven有多种约定,其中之一是期望您的源代码位于src/main/java
下。
我敢打赌,您刚刚将上面的pom.xml
放到了项目根目录中,然后运行mvn clean install
。 Maven会很乐意运行它,但是由于您可能已将源文件留在了默认的IDE位置,因此maven会跳过它。看看目标目录,您会发现它没有为您编译任何类
您有2个选择:
<build>
标记内的某个位置:src/main/java
结构。 src/main/test
,测试类也应该去:)https://stackoverflow.com/questions/11031812/
相关文章:
ant - 如何在不使用 IDE(Netbeans 等)的情况下使用外部库编译 java 文件?
android - 使用PendingIntent的编译错误
scala - 为什么在 Scala 中压缩比 zip 快?
visual-c++ - 升级项目:operator '=' is ambiguous and 'i
compilation - 在我的编译器中完全可以正常工作,但在将其提交到在线社区时会出现编译错误
xcode - 项目清理后,Cocos2d/box2d项目将无法编译
visual-studio-2010 - MS VS 2010 srand()无法编译?