gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:55:36 25 4
gpt4 key购买 nike

只需将我的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个选择:

  • 将此添加到上述pom的<build>标记内的某个位置:
    $ {basedir}/src
  • 重新排列您的源文件,使它们遵循src/main/java结构。

  • 就个人而言,我选择2号。

    P.S,也有 src/main/test,测试类也应该去:)

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

    关于android - Maven不会因引入的编译错误而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031812/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com