Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Maven不会因引入的编译错误而失败_Android_Maven_Compilation_Compiler Errors_Jenkins - Fatal编程技术网

Android Maven不会因引入的编译错误而失败

Android Maven不会因引入的编译错误而失败,android,maven,compilation,compiler-errors,jenkins,Android,Maven,Compilation,Compiler Errors,Jenkins,只是将我的Android项目转移到Maven/Jenkins,我正在探索构建/编译/测试过程 问题: 我在java代码中引入了一个简单的编译错误,但是当我运行mvn clean install包时,我获得了构建成功。只有当我将应用程序部署到我的设备时,它才会崩溃并失败 我的POM有什么问题吗 另外,我有XXXXX的一些信息。别担心 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.ap

只是将我的Android项目转移到Maven/Jenkins,我正在探索构建/编译/测试过程

问题: 我在java代码中引入了一个简单的编译错误,但是当我运行mvn clean install包时,我获得了构建成功。只有当我将应用程序部署到我的设备时,它才会崩溃并失败

我的POM有什么问题吗

另外,我有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>

4.0.0
xxxxx
xxxxxx
1.0.0
xxxxx
xxxx
1.0.0
apk
安卓应用程序
com.google.android
安卓
4.0.1.2
假如
com.actionbarsherlock
图书馆
4.0.0
apklib
com.jayway.maven.plugins.android.generation2
安卓maven插件
${project.basedir}/AndroidManifest.xml
${project.basedir}/assets
${project.basedir}/res
${project.basedir}/src/main/native
15
/用户/助手/安卓SDK
真的
真的
maven编译器插件
1.5
1.5

我怀疑,您没有看到错误的原因很可能是因为maven一开始甚至没有编译您的类

Maven有各种约定,其中之一是它希望您的源代码位于
src/main/java

我敢打赌,您刚刚将上面的
pom.xml
放到了您的项目根区域,并运行了
mvn clean install
。Maven会很高兴地运行它,但是由于您可能已经将源文件保留在默认的IDE位置,Maven只是跳过了它。看看你的目标目录,你会发现它没有为你编译任何类

您有两种选择:

  • 在上述pom中的
    标记内的某个位置添加此项: ${basedir}/src
  • 重新排列源文件,使其遵循
    src/main/java
    结构
  • 就我个人而言,我会选择2号

    另外,还有
    src/main/test
    ,测试类应该在那里:)

    您可以阅读有关pom文件配置的更多信息