第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Maven:將 Scala 代碼和 Java 代碼一起構(gòu)建到一個 Fat JAR 中

Maven:將 Scala 代碼和 Java 代碼一起構(gòu)建到一個 Fat JAR 中

Go
慕桂英3389331 2022-12-28 09:48:31
我有一個構(gòu)建到 Fat JAR 中的 Scala 項目。今天我需要向項目添加一些 Java 類,但現(xiàn)在我的 Maven 構(gòu)建失敗了。我的項目結(jié)構(gòu)(大致)如下所示:.├── src│   └── main│       ├── resources│       │   └── Log4j.properties|       ├── java│       │   └── com│       │       └── myorg│       │           └── myproject│       │               └── MyPublicJavaClass.java│       └── scala│           └── com│               └── myorg│                   └── myproject│                       └── spark│                           └── Main.scala└── pom.xml在我添加 Java 類之前,以及build-helper-maven-plugin今天,Maven 能夠毫無問題地構(gòu)建這個項目。但是現(xiàn)在,似乎我沒有正確配置該插件,或者我沒有使用正確的插件?我的 Scala 代碼試圖使用類型的對象,MyPublicJavaClass所以現(xiàn)在我在 Maven 中看到的構(gòu)建錯誤如下所示:[錯誤] ~/src/main/scala/com/myorg/myproject/spark/Main.scala:227: error: not found: type MyPublicJavaClass...[錯誤] 無法在項目 myproject 上執(zhí)行目標(biāo) org.scala-tools:maven-scala-plugin:2.15.2:compile (default): wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (退出值: 1) -> [幫助 1]我以為它build-helper-maven-plugin會告訴它在編譯時之前將 Java 代碼的源目錄添加到要生成的源列表中,但顯然不是。我怎樣才能解決這個問題?
查看完整描述

1 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊

您正在為 Scala 編譯使用一個非常舊的插件(最新版本2.15.2已于 2011年 2 月 6 日發(fā)布)。


我建議您先升級到更新的插件,例如( 2019 年 5 月 11 日的scala-maven-plugin最新版本)。4.0.2


然后,您可以在文檔中找到混合 Scala/Java 源代碼的示例。在這種情況下不需要使用build-helper-maven-plugin,也不需要配置sourceDirectory和testSourceDirectory。用這個插件檢查這個簡單pom.xml的(當(dāng)我在本地重現(xiàn)問題時,我剛剛從你提供的示例中刪除了未使用的依賴項):


<?xml version="1.0"?>

<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>

  <name>myproject</name>

  <url>http://maven.apache.org</url>


  <groupId>com.myorg</groupId>

  <artifactId>myproject</artifactId>

  <packaging>jar</packaging>

  <version>0.1.0-RELEASE</version>


  <properties>

    <maven.compiler.source>1.8</maven.compiler.source>

    <maven.compiler.target>1.8</maven.compiler.target>

    <encoding>UTF-8</encoding>

    <scala.tools.version>2.11</scala.tools.version>

    <scala.version>2.11.8</scala.version>

  </properties>


  <build>

    <plugins>

      <plugin>

        <groupId>net.alchim31.maven</groupId>

        <artifactId>scala-maven-plugin</artifactId>

        <version>4.0.2</version>

          <executions>

            <execution>

              <id>scala-compile-first</id>

              <phase>process-resources</phase>

              <goals>

                <goal>add-source</goal>

                <goal>compile</goal>

              </goals>

            </execution>

            <execution>

              <id>scala-test-compile</id>

              <phase>process-test-resources</phase>

              <goals>

                <goal>testCompile</goal>

              </goals>

          </execution>

        </executions>

      </plugin>


      <!-- This builds the fat JAR -->

      <plugin>

        <artifactId>maven-assembly-plugin</artifactId>

        <configuration>

          <archive>

            <manifest>

              <mainClass>com.myorg.myproject.spark.Main</mainClass>

            </manifest>

          </archive>

          <descriptorRefs>

            <descriptorRef>jar-with-dependencies</descriptorRef>

          </descriptorRefs>

        </configuration>

        <executions>

          <execution>

            <id>make-assembly</id>

            <phase>package</phase>

            <goals>

              <goal>single</goal>

            </goals>

          </execution>

        </executions>

      </plugin>

    </plugins>

  </build>


  <dependencies>

    <dependency>

      <groupId>org.scala-lang</groupId>

      <artifactId>scala-library</artifactId>

      <version>${scala.version}</version>

      <scope>provided</scope>

    </dependency>

  </dependencies>

</project>



查看完整回答
反對 回復(fù) 2022-12-28
  • 1 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號