相关疑难解决方法(0)

我可以在没有安装的情况下将jar添加到maven 2 build classpath吗?

在实验/快速和肮脏的模拟开发阶段,Maven2让我发疯.

我有一个pom.xml文件定义了我想要使用的web-app框架的依赖项,我可以从该文件快速生成启动项目.但是,有时我想链接到尚未pom.xml定义文件的第三方库,所以不是pom.xml手动创建第三方库的文件并安装它,并将依赖项添加到我的pom.xml,我只是想告诉Maven:"除了我定义的依赖项,还要包含任何罐子/lib."

看起来这应该很简单,但如果是这样,我就会遗漏一些东西.

任何关于如何做到这一点的指针都非常感谢.除此之外,如果有一种简单的方法将maven指向一个/lib目录并轻松创建一个pom.xml所有封闭的jar映射到单个依赖项,然后我可以一次命名/安装和链接就足够了.

java maven-2

686
推荐指数
14
解决办法
38万
查看次数

Maven:将自定义外部JAR链接到我的项目的最佳方式?

这是我学习Maven的前几天,我仍然在努力学习基础知识.我有一个外部.jar文件(在公共存储库中不可用),我需要在我的项目中引用它,我正在试图找出我最好的选择.

这是一个没有库的中央存储库的小型项目,所以它必须是一个本地存储库(以某种方式添加到源代码控制,不知道它是否应该以这种方式工作?)或者.jar需要存储在任何正式存储库之外的磁盘.

1)我最好的选择是将.jar文件添加到项目的maven引用中,因为我希望项目和库都在源代码控制中?

2)我似乎还无法让Eclipse看到依赖.我手动将它添加到pom的部分,它在m2eclipse的Dependencies列表中显示正常.mvn compile和mvn包都成功,但运行程序导致:

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
        LibraryStuff cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)

这是在将POM编辑为:

<dependency>
  <groupId>stuff</groupId>
  <artifactId>library</artifactId>
  <version>1.0</version>
  <systemPath>${lib.location}/MyLibrary.jar</systemPath>
  <scope>system</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我是否应该执行mvn install:install-file,即使我已经编辑了如上所述的pom.xml?

谢谢!

java maven-2 m2eclipse maven

140
推荐指数
9
解决办法
24万
查看次数

JUnit测试在Eclipse中传递但在Maven Surefire中失败

我已经使用JUnit 4和spring-test库编写了一些JUnit测试.当我在Eclipse中运行测试然后运行正常并通过.但是当我使用Maven运行它们时(在构建过程中),它们无法给出与弹簧相关的错误.我不确定导致问题的是什么,JUnit,Surefire或Spring.这是我的测试代码,弹簧配置和我从Maven获得的异常:

PersonServiceTest.java

package com.xyz.person.test;

import static com.xyz.person.util.FjUtil.toFjList;
import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

import com.xyz.person.bo.Person;
import com.xyz.person.bs.PersonService;

import fj.Effect;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:personservice-test.xml" })
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
public class PersonServiceTest {

    @Autowired
    private PersonService service;

    @Test
    @Transactional
    public void testCreatePerson() {
        Person person = new Person();
        person.setName("abhinav");
        service.createPerson(person);

        assertNotNull(person.getId());
    }

    @Test
    @Transactional
    public void testFindPersons() {
        Person …
Run Code Online (Sandbox Code Playgroud)

java spring maven-2 spring-test surefire

86
推荐指数
7
解决办法
9万
查看次数

Maven并将JAR添加到系统范围

我的Android项目中有一个JAR,我想将它添加到最终的APK中.好的,我走了:

    <dependency>
        <groupId>com.loopj.android.http</groupId>
        <artifactId>android-async-http</artifactId>
        <version>1.3.2</version>
        <type>jar</type>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/android-async-http-1.3.2.jar</systemPath>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时,mvn package我收到警告:

[WARNING] Some problems were encountered while building the effective model for **apk:1.0
[WARNING] 'dependencies.dependency.systemPath' for com.loopj.android.http:android-async-http:jar should not point at files within the project directory, ${project.basedir}/libs/android-async-http-1.3.2.jar will be unresolvable by dependent projects @ line 36, column 25
Run Code Online (Sandbox Code Playgroud)

在最终的APK中没有JAR.

我该如何解决这个问题?

maven

81
推荐指数
4
解决办法
10万
查看次数

建立包含propriatery库的maven项目

如何创建maven pom,这将使项目可构建,我可以直接将propriatery jar包括在我的项目中,而无需从存储库中获取它们吗?有没有人这样做过?

编辑:

我不希望通过使用依赖jar构建程序集使其可运行,我希望它是可构建的.因此,任何拥有此项目的人都能够构建它,即使在任何存储库中都找不到罐子.

java maven-2 maven

41
推荐指数
6
解决办法
10万
查看次数

如何在Maven项目中包含本地jar文件

我不想在Maven存储库(本地/远程)中安装几个jar.特别是我有几个jar文件

c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test.jar

c:\work\projects\myapp\src\main\webapp\WEB-INF\lib\test2.jar
Run Code Online (Sandbox Code Playgroud)

使用NetBeans打开/编辑时如何将它们包含到我的项目中?

java maven-2 netbeans jar

25
推荐指数
4
解决办法
6万
查看次数

是否有办法在maven尝试解决它们之前安装maven依赖项?

我必须从远程位置解压缩一些依赖项并在本地安装它们.

我成功地获取它们(使用antrun插件)并安装它们(使用安装插件)

但是,如果我将它们定义为依赖项(<dependency>..</dependency>)maven首先尝试解决它们,只有这样,如果成功,则继续执行antrun并安装.

我也尝试了build-helper-plugin及其attach-artifact,但它没有做任何事情(它甚至没有将工件添加到最终的war文件中)

那么,如何在maven尝试解决依赖关系之前运行我的执行?

java maven-2 maven

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

依赖项不应该指向项目目录中的文件

我事先查看了这个问题并看到了其他类似问题,但没有一个解决方案适合我.

我是Maven的一个完整的菜鸟,但我刚刚从GitHub导入了一个项目.现在我遇到了让依赖项工作的问题.当我清理它给我以下错误.

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further         details.
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.walrusone.skywars:skywarsreloadedplugin-api:jar:API
[WARNING] 'dependencies.dependency.systemPath' for org.bukkit:bukkit:jar should not point at files within the project directory, ${project.basedir}/lib/bukkit-1.8.6-R0.1-SNAPSHOT.jar will be unresolvable by dependent projects @ line 19, column 19
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.walrusone.skywars:skywarsreloadedplugin-v1_7_R3:jar:v1_7_R3
[WARNING] 'dependencies.dependency.systemPath' for org.bukkit:craftbukkit:jar …
Run Code Online (Sandbox Code Playgroud)

java maven

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

让groovy脚本从像葡萄这样的文件系统中抓取一个罐子

Grape似乎可以很好地为你的类路径添加jar.它还可以执行很多其他操作,例如提取和依赖关系管理.例如

#!/home/robert/bin/groovy

import org.apache.commons.lang.StringUtils

@Grab(group='commons-lang', module='commons-lang', version='2.4')

def strings = ['Hello', 'Groovy', 'AVeryLongWord!', 'A simple sentence']
strings.each { String aString ->
    println "$aString: ${StringUtils.abbreviate(aString,10)}"
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我的文件系统上有一个jar,我想动态添加到文件系统,那么我不得不求助于一个更加丑陋的解决方案.

#!/home/robert/bin/groovy

def loader = this.class.classLoader.rootLoader
loader.addURL(new File("/home/robert/somejars/arithmetic-1.1.jar").toURI().toURL())

// can't use traditional package import
arithmeticMainClass = Class.forName("org.scharp.arithmetic.Main")

println "42 - 23 = " + arithmeticMainClass.subtract(42, 23)

// can't use "new" operator
myArithmeticObject = arithmeticMainClass.newInstance()
Run Code Online (Sandbox Code Playgroud)

有没有办法让葡萄从文件系统中抓取一个罐子?如果没有,我可以以某种方式复制葡萄在groovy/java中做的事情吗?

我希望这个解决方案适用于可由许多用户和许多不兼容的jar运行的脚本,因此将jar添加到公共目录(如〜/ .groovy/lib /)将不起作用.

我可以为本地的jar库创建一个本地maven存储库,但这似乎有些过分.

groovy jar ruby-grape

14
推荐指数
2
解决办法
8825
查看次数

Eclipse通过更新pom来修复项目设置?

在eclipse项目中,我引用了一个当前不在项目构建路径中的类.

在通过将鼠标悬停在错误上打开的上下文敏感弹出窗口中,"修复项目设置"选项使我可以将jar添加到项目的构建路径中.这个jar在我当地的maven存储库中.

但是,修复它的"正确"方法显然是将相关的依赖项添加到项目的pom中,而不是将此jar添加到项目的构建路径中.

那么有没有办法配置eclipse,因此它不会提供将maven repo jar添加到构建路径,但它会提供修复项目的pom?

java eclipse maven m2e

10
推荐指数
2
解决办法
2141
查看次数

标签 统计

java ×8

maven ×6

maven-2 ×6

jar ×2

eclipse ×1

groovy ×1

m2e ×1

m2eclipse ×1

netbeans ×1

ruby-grape ×1

spring ×1

spring-test ×1

surefire ×1