标签: maven-package

具有显式finalName的Maven将无法正常工作

1.背景

我的Maven项目有很多的模块和子模块与jarswars一切工作.我也可以在服务器上部署它而没有任何问题.

我决定遵循这个maven命名转换,我正在进行一些测试project.nameproject.build.finalName拥有一个合适的名称.

我定义project.name为根工件创建的模式是company-${project.artifactId},对于模块和子模块是${project.parent.name}-${project.artifactId}:

  • 公司的任何伪影的任何-模块1
  • 公司的任何伪影的任何-模块2-任何-submodule1
  • 公司的任何伪影的任何-模块2-任何-submodule2

模式project.build.finalName${project.name}-${project.version}:

  • 公司的任何伪影的任何-module1-1.0.jar
  • 公司的任何伪影的任何-模块2-任何-submodule1-2.0.jar
  • 公司的任何伪影的任何-模块2-任何-submodule2-3.0.war

但maven没有生成这些文件,而是给了我一个StackOverflowError.

2.重现错误的示例

你可以从github克隆这个例子:https://github.com/pauloleitemoreira/company-any-artifact

在github中,有一个master分支,它将重现此错误.还有only-modules分支,这是一个工作示例,用于${project.parent.name}生成finalName我想要的jar .

让我们考虑一个带有一个根pom工件,一个pom模块和一个子模块的maven项目.

-any-artifact
     |
     |-any-module      
           |
           |-any-submodule
Run Code Online (Sandbox Code Playgroud)

2.1任何神器

<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.company</groupId>
    <artifactId>any-artifact</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <name>company-${project.artifactId}</name>

    <modules>
        <module>any-module</module>
    </modules>

    <!-- if remove finalName, maven will not …
Run Code Online (Sandbox Code Playgroud)

java stack-overflow maven maven-package

18
推荐指数
1
解决办法
6488
查看次数

使用 spring 版本 2.5.7 的 Spring Boot 无法使用 jdk 1.8 重新打包

运行 Maven 包目标时

mvn清理包

构建抛出错误:

目标 org.springframework.boot:spring-boot-maven-plugin:3.0.0-M1:repackage 失败:无法加载插件 'org.springframework.boot:spring-boot-maven-plugin 中的 mojo 'repackage': 3.0.0-M1' 由于 API 不兼容:org.codehaus.plexus.component.repository.exception.ComponentLookupException:org/springframework/boot/maven/RepackageMojo 已由更新版本的 Java 运行时(类文件版本 61.0),此版本的 Java 运行时仅识别 52.0 以下的类文件版本

我的 JAVA_HOME 指向 jdk1.8.0_73

我怎样才能让 spring-boot-maven-plugin 以重新打包的目标运行?

下面是我的模块中的 Maven 构建配置。

<build>
<resources>
    <resource>
        <directory>resources</directory>
    </resource>
</resources>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
            <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
            <webResources>
                <resource>
                    <directory>src/main/resources</directory>
                    <include>*.*</include>
                    <targetPath>/WEB-INF/classes</targetPath>
                </resource>
                <resource>
                    <directory>src/main/webapp/errors</directory>
                    <include>*.*</include>
                    <targetPath>/errors/</targetPath>
                </resource>
            </webResources>
        </configuration>
    </plugin>

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <mainClass>com.services.MyAApp</mainClass>
            <layout>war</layout>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals> …
Run Code Online (Sandbox Code Playgroud)

java maven spring-boot maven-package spring-boot-maven-plugin

4
推荐指数
1
解决办法
2万
查看次数

JanusGraphFactory 无法创建 CQLStoreManager

问题

\n

为什么在包含依赖项时会出现此错误?

\n
Could not find implementation class: org.janusgraph.diskstorage.cql.CQLStoreManager\n
Run Code Online (Sandbox Code Playgroud)\n
Could not find implementation class: org.janusgraph.diskstorage.cql.CQLStoreManager\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,我对 JanusGraph 和 GraphDB 以及 Cassandra 都是新手。

\n

再生产

\n

脚步

\n
    \n
  1. 下载并安装Docker
  2. \n
  3. 为 JanusGraph创建并启动Cassandra [Docker 容器]
    \ndocker run --name jg-cassandra -d -e CASSANDRA_START_RPC=true -p 9160:9160 -p 9042:9042 -p 7199:7199 -p 7001:7001 -p 7000:7000 cassandra:3.11
  4. \n
  5. 复制并粘贴janusgraph.cql.properties到 Cassandra [Docker 容器]\n
      \n
    1. 复制JanusGraph / janusgraph / blob / master / janusgraph-dist / src / assembly …

maven-package cassandra-3.0 docker-container janusgraph java-11

1
推荐指数
1
解决办法
176
查看次数