Tag: maven

mvn依赖:树在平凡的项目上失败

我有一个非常复杂的项目(约100个模块),我想运行mvn dependency:tree 。 它失败了,抱怨它无法解决的依赖关系。 该项目否则编译罚款。 所以我创建了我可以上来的最基本的项目,它仍然失败,同样的错误。 显然,要么我必须做一些非常基本的错误,或者maven-dependency-plugin还没有被任何人使用过。 这里是三个POM通过测试项目: pom.xml中: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <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.example</groupId> <artifactId>root</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>foo</module> <module>bar</module> </modules> </project> 富/ pom.xml中: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <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.example</groupId> <artifactId>foo</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> </project> 酒吧/ pom.xml中: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <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 […]

错误:在使用Kotlin编译Java代码时,-source 1.3中不支持泛型

我正在使用Maven和kotlin-maven-plugin来编译代码。 <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <source>src/main/kotlin</source> <source>src/main/resources</source> <source>target/generated-sources/jooq-h2</source> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <phase>process-test-sources</phase> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <source>src/test/kotlin</source> </sourceDirs> </configuration> </execution> </executions> </plugin> target/generated-sources/jooq-h2目录包含Java源文件。 我遵循Kotlin手册和其他人的建议 ,将Kotlin压缩放在<phase>process-sources</phase>而不是<phase>compile</phase> 。 我(可能是错误的?)假设Kotlin编译器也负责为我编译这些Java文件。 但是,在一些服务器上(例如Jenkins CI),我得到了一些奇怪的编译错误消息,比如: [ERROR] /var/lib/jenkins/jobs/jooq-build/workspace/jOOQ-examples/jOOQ-kotlin-example/target/generated-sources/jooq-h2/org/jooq/example/db/h2/tables/Author.java:[35,37] error: generics are not supported in -source 1.3 这是为什么?

是否有可能使用Maven开发前端/ Web应用程序?

我曾与Gulp,Grunt和Webpack合作过。 我觉得到目前为止,我所使用的最好的构建工具是Maven。 简单而简洁,在我看来。 出于这个原因,我想知道是否有可能使用Maven作为Gulp,Grunt和Webpack的替代品来部署我的Web应用程序。 同时,我很乐意使用Kotlin代替JavaScript。 有没有什么可能的方式,我可以安装具有这些技术的样板web项目: Maven而不是Gulp,Grunt,Webpack Kotlin代替JavaScript SASS而不是CSS 并有以下库集成: VueJS , FlexboxGrid或类似的, 字体真棒和C3js ? 谢谢!

辉光石安装:Maven对象未经过身份验证/无法解决依赖关系错误

我正在密切关注Glowstone https://github.com/GlowstoneMC/Glowstone自述文件中的“构建”指令,但每当我尝试使用./setup.sh时,都无法使用此堆栈跟踪进行构建: 无法执行项目目标glowstone:无法解析项目的依赖关系net.glowstone:glowstone:jar:1.10.2-SNAPSHOT:无法收集[net.glowstone:glowkit:jar:1.10.2-R0.1- SNAPSHOT(compile),com.flowpowered:flow-network:jar:1.1.0-SNAPSHOT(compile),jline:jline:jar:2.11(compile),org.projectlombok:lombok:jar:1.14.8(provided), net.sf.trove4j:trove4j:jar:3.0.3(compile),co.aikar:fastutil-lite:jar:1.0(compile),org.jetbrains.kotlin:kotlin-runtime:jar:1.1-SNAPSHOT(compile) ,org.jetbrains.kotlin:kotlin-reflect:jar:1.1-SNAPSHOT(compile),io.netty:netty-transport-native-epoll:jar:4.1.0.CR7(compile),junit:junit:jar:4.12 (测试)]:无法读取net.glowstone的工件描述符:glowkit:jar:1.10.2-R0.1-SNAPSHOT:无法传输工件net.glowstone:glowkit:pom:1.10.2-R0.1-SNAPSHOT从/到辉光石快照( https://repo.glowstone.net/content/repositories/snapshots/ ):对方未验证 – > [帮助1] 我试着在Maven网站上查看一些关于DependencyResolutionException和peer not authenticated错误的提示,但是没有帮助。 任何人都请帮助我,我已经被困了几个星期,没有任何进展。

在Eclipse Maven项目中使用Kotlin Javascript进行DOM操作

在Eclipse中,我有一个Kotlin Javascript Maven项目,其中包含以下pom.xml文件: <project> … <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.1.51</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-js</artifactId> <version>1.1.51</version> </dependency> </dependencies> <build> <sourceDirectory>src/main/kotlin</sourceDirectory> <plugins> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> … </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack</id> <phase>compile</phase> <goals> <goal>unpack</goal> </goals> … </execution> </executions> </plugin> </plugins> </build> </project> 如果我做一个正常的println("Hello World!")消息,它会起作用。 但是我不能运行下面的代码: 我做错了什么?

Gradle无法在Windows上读取正确的本地Maven存储库

我使用mavenLocal()让gradle使用本地的maven仓库。 我把我的settings.xml放在〜.m2下。 settings.xml如下所示: <!– localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> –> <localRepository>d:/green/maven-repository</localRepository> 运行maven命令时,mvn可以找到正确的存储库。 当运行gradle命令时,它仍然在寻找〜/ .m2 / repository。 它看起来像gradle无法正确读取d:/ green / maven-repository。 build.dradle buildscript { ext { springBootVersion = "1.5.2.RELEASE" kotlinVersion = "1.1.2" } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion") classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlinVersion") classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion") […]

在混合Java / Kotlin项目中使用Dagger 2的Maven配置

什么是在混合Java / Kotlin项目中使用Dagger 2的建议Maven设置? 我找到了一个使用Gradle的示例项目: https : //github.com/damianpetla/kotlin-dagger-example与Maven类似的东西会非常有帮助。 更新:我试过了什么? 我使用了kotlinlang.org/docs/reference/using-maven.html中的Kotlin配置和google.github.io/dagger中的Dagger配置。 我还使用了build-helper-maven-plugin插件来将注释处理集成到IDEA中。 我的主要问题是我遇到了编译周期。 我的配置混合了Kotlin的编译和调用生成Dagger2类的注释处理器。 我无条件地尝试分离两个阶段,但缺乏更深入的Maven了解它的工作。

Gradle:具有依赖版本范围的maven-publish

我正在开发一个依赖于kotlin-stdlib的测试工具库 。 对实现我的lib的项目有最小的影响我试图在发布的maven pom文件中使用版本范围: <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>[1.1.2,2.0)</version> <scope>compile</scope> </dependency> 据此 当Maven遇到一个版本引用的多个匹配时,它使用最高的匹配版本 版本范围应该允许gradle选择适合所有依赖的版本。 但是,当测试它时,即使我的测试项目指定了kotlin-stdlib:1.1.2 ,gradle也会选择可用于我的范围的最高版本。 $ ./gradlew example:dependencies … +— org.jetbrains.kotlin:kotlin-stdlib:[1.1.2] -> 1.1.4-3 | \— org.jetbrains:annotations:13.0 \— se.lovef:kotlin-assert-utils:0.0-SNAPSHOT +— org.jetbrains.kotlin:kotlin-stdlib:[1.1.2,2.0) -> 1.1.4-3 (*) 如果我使用硬性要求 [1.1.2]或软性要求1.1.2似乎并不重要。 如果我在一个android项目中使用我的库,它会失败: 应用程序(1.1.3-2)和测试应用程序(1.1.4-3)的已解决版本不同。 有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict 。 建议的解决方案是在实施项目中添加解决方案规则,例如 configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } } 然而,我不想强​​加给用户,而是我想要我的lib 使用项目中可用的版本,只要它符合我定义的范围[1.1.2,2.0) 如果项目不使用kotlin-stdlib请使用与我的范围匹配的最高版本 如果项目依赖版本不匹配我的lib失败 有什么我可以做我的lib实现这个?

MapDB ClassNotFoundException:kotlin.jvm.internal.Intrinsics

我想运行一个简单的mapdb例子,但得到的错误: Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at org.mapdb.DBMaker.fileDB(DBMaker.kt) at leechies.Truc.main(Truc.java:9) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 2 more 我的课: package leechies; import java.util.concurrent.ConcurrentMap; import org.mapdb.DB; import org.mapdb.DBMaker; public class Truc { public static void main(String[] args) { DB db = DBMaker.fileDB("file.db").make(); ConcurrentMap map = db.hashMap("map").createOrOpen(); map.put("something", "here"); […]

Eclipse Maven项目结构

我对maven来说相当陌生。 在Eclipse中,我创建了一个maven项目在这里我可以看到src / main / java和src / test / java还有一个src文件夹,它又包含main和test文件夹。 在这里我很困惑,在哪个src文件夹我需要写代码。 使用main和test文件夹的主要好处是什么? 为什么有两个主要的和两个src文件夹