相关疑难解决方法(0)

如何将本地jar文件添加到Maven项目?

如何在项目的库源中直接添加本地jar文件(尚未成为Maven存储库的一部分)?

java libraries maven mvn-repo

1053
推荐指数
19
解决办法
81万
查看次数

Maven:如何将reps中没有的jar包含到J2EE项目中?

在我的J2EE项目中,我有几个依赖项,这些依赖项在任何Maven存储库中都不可用,因为它们是专有库.这些库需要在运行时可用,因此必须复制到目标/.../ WEB-INF/lib ...

现在,我将它们列为我的POM中的系统依赖项,但是使用此方法的问题是,在编译期间没有将其复制到目标构建.这种方法也不是很优雅.

那么将它们集成到Maven中的最佳方法是什么?

注意:我不想创建自己的Maven存储库.

java build-process maven-2

96
推荐指数
4
解决办法
14万
查看次数

如何在Maven 2中手动安装工件?

我尝试使用Maven 2手动安装工件时遇到了一些错误.我想用命令从本地目录安装jar

mvn install:install-file -Dfile=jta-1.0.1B.jar
Run Code Online (Sandbox Code Playgroud)

但是Maven给出了一个构建错误,其内容如下:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal
Run Code Online (Sandbox Code Playgroud)

我的命令有错吗?

install maven-2

94
推荐指数
4
解决办法
16万
查看次数

Maven和eclipse:将非Maven或外部jar添加到项目中的可靠方法?

Maven很棒.它主要通过在pom配置中指定依赖包的版本来使我脱离jar依赖地狱,并自动应用它们.它还通过m2e与Eclipse进行了很好的集成,因此可以在IDE中无缝地工作.

这对于Maven全局已知的依赖项来说非常有用.但是,有时候,有些库需要包含在Maven存储库中不可用的项目中.在这种情况下,我通常将它们添加到lib/项目中的目录中.只要它们在类路径中就可以编译.

但是,问题是导入项目时会自动包含它们.我一直在容忍这个问题,包括半生不熟的修复和黑客攻击太久了.每当有人安装这个项目时,我都要告诉他们手动将jar添加lib/到他们的Eclipse构建路径中,以便所有错误都消失.类似于以下内容:

在此输入图像描述

我正在寻找一种方法来自动化这个过程,它既适用于mvn命令行程序又适用于Eclipse:更多的是强调Eclipse,因为在导入它们时只需要编译的项目很好.

我不想为此设置一个repo服务器,也没有任何内部专有组件可以保证在本地设置任何东西.我只有一些jar文件,开发人员不使用Maven; 我想和他们一起编译......我应该能够将它们包含在我的软件发行中,对吗?

我真的在寻找一种合理的方法来实现它,它也可以在Eclipse中运行而不用大惊小怪.这是我发现有希望的一个解决方案,但肯定似乎没有这个问题的权威解决方案.唯一接近的另一件事是maven-addjars-plugin,它可以正常工作但只能在命令行上运行.这个插件也不错,配置非常合理:

<plugin>
    <groupId>com.googlecode.addjars-maven-plugin</groupId>
    <artifactId>addjars-maven-plugin</artifactId>
    <version>1.0.5</version>
    <executions>
        <execution>
            <goals>
                <goal>add-jars</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>${project.basedir}/lib/java-aws-mturk</directory>
                    </resource>
                    <resource>
                        <directory>${project.basedir}/lib/not-in-maven</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是,尝试让它在Eclipse中运行会涉及到以下关于生命周期映射的混乱pom.xml,我从未开始工作; 我甚至认为它没有配置为实际向Eclipse构建路径添加任何内容.

<pluginManagement>
    <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>
                                    com.googlecode.addjars-maven-plugin …
Run Code Online (Sandbox Code Playgroud)

java eclipse m2eclipse maven m2e

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

Maven:向jar添加本地依赖项

我有依赖

    <dependency>
        <groupId>de.matthiasmann</groupId>
        <artifactId>twl</artifactId>
        <version>1.0.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/TWL.jar</systemPath>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

然后我执行mvn assembly:assembly.添加了所有本机文件和远程maven库,但没有这个jar.

UPDATE

当我试图运行app时java -jar myjar.jar.它返回一个错误,表明上述依赖项中没有类(NoClassDefFoundError:de.matthiasmann.twl.ForExample).我想将这个jar中的类添加到myjar.jar(与maven对远程依赖项的作用相同).我如何配置maven来做到这一点?

java maven

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

标签 统计

java ×4

maven ×3

maven-2 ×2

build-process ×1

eclipse ×1

install ×1

libraries ×1

m2e ×1

m2eclipse ×1

mvn-repo ×1