- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我在我的项目上运行 mvn test
时,出现 JDK 版本错误。
这是输出:
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< net.rorynolan:Detrendr >-----------------------
[INFO] Building Detrendr 0.0.0.9003-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-rules) @ Detrendr ---
[INFO] Adding ignorable dependency: null:jcodings:null
[INFO] Adding ignore: org/jcodings/*
[INFO] Adding ignorable dependency: null:jnr-constants:null
[INFO] Adding ignore: com/kenai/constantine/*
...
[INFO] Adding ignorable dependency: com.sun:tools:null
[INFO] Adding ignore: *
[INFO] Restricted to JDK 1.6 yet org.junit.platform:junit-platform-commons:jar:1.3.1:test contains org/junit/platform/commons/JUnitException.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.6 yet org.junit.jupiter:junit-jupiter-api:jar:5.3.1:test contains org/junit/jupiter/api/AssertArrayEquals.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.6 yet org.junit.jupiter:junit-jupiter-engine:jar:5.3.1:test contains org/junit/jupiter/engine/Constants.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.6 yet org.junit.platform:junit-platform-engine:jar:1.3.1:test contains org/junit/platform/engine/TestDescriptor.class targeted to JDK 1.8
[WARNING] Rule 5: org.apache.maven.plugins.enforcer.EnforceBytecodeVersion failed with message:
Found Banned Dependency: org.junit.platform:junit-platform-commons:jar:1.3.1
Found Banned Dependency: org.junit.jupiter:junit-jupiter-api:jar:5.3.1
Found Banned Dependency: org.junit.jupiter:junit-jupiter-engine:jar:5.3.1
Found Banned Dependency: org.junit.platform:junit-platform-engine:jar:1.3.1
Use 'mvn dependency:tree' to locate the source of the banned dependencies.
[INFO] ------------------------------------------------------------------------
...
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
我的 pom.xml
位于 https://github.com/rorynolan/ij_detrendr/blob/master/pom.xml .
mvn help:effective-pom
中有线索
我能看到的地方
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
...
<rules>
...
<enforceBytecodeVersion>
<maxJdkVersion>1.6</maxJdkVersion>
<excludes>
<exclude>com.headius:invokebinder</exclude>
<exclude>com.sun:tools</exclude>
</excludes>
</enforceBytecodeVersion>
<banCircularDependencies />
</rules>
</configuration>
</plugin>
但这就是我所拥有的。我尝试将 maven enforcer 插件显式添加到我自己的 pom.xml
但无济于事。
最佳答案
您的项目 pom parent 是:net.imagej:pom-imagej:13.2.0这是org.scijava:pom-scijava:8.4.0的 parent 其中包含以下与 Java 版本相关的摘录:
<scijava.jvm.version>1.6</scijava.jvm.version>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<!-- Require the Java 6 platform. -->
<configuration>
<source>${scijava.jvm.version}</source>
<target>${scijava.jvm.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
...
<enforceBytecodeVersion>
<maxJdkVersion>${scijava.jvm.version}</maxJdkVersion>
...
</enforceBytecodeVersion>
</plugin>
因此,执行者规则及其对 Java 1.6 的坚持是通过您的项目的父系继承的。
Java 1.6 的这一限制与编译为 Java 1.8 的 JUnit5 库冲突。
您可以也许可以在您自己的 POM 中覆盖 enforcer 插件(参见 the Maven docs 中对 combine.self="override"
的引用),但事实上您的模块的grandparent (org.scijava:pom-scijava:8.4.0
) 明确声明它希望在 Java 1.6 上运行,强烈建议任何此类覆盖都会导致问题。
我认为更明智的做法是以下之一:
net.imagej:pom-imagej:13.2.0
)升级到与 Java 8 兼容的版本,注意:net.imagej:pom-imagej :13.2.0
已有 3 年历史,因此您可能会发现升级到最新版本后此问题就会消失。关于java - 为什么 Maven enforcer 会限制为 Java 1.6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52582927/
我正在使用 maven 和 eclipse m2e 配置多模块父子 maven 项目,我使用的是 eclipse Juno SR1 的最新内容,即 m2e 1.2.0 父pom使用enforcer插件
我希望从我的基类派生的所有类都具有此功能: class Derived : public Base{ public: void doSth(const Derived& d){
我遇到了有关我的执行器自定义规则之一的配置问题。 我的 POM 文件中的插件配置如下所示: org.apache.maven.plugins maven-
假设我想在数据库的事件日志中记录某些内容。在某些情况下,这些事件与用户相关联(例如,用户创建了一些东西)。在某些情况下,这些事件是由应用程序自动完成的(例如,系统出于某种原因更新了一些记录)。我希望能
我的整个团队都相信 Python 中的类型提示将帮助我们构建更易于维护的代码。每个人都支持在我们的整个项目中实现类型提示。 使用 mypy 一周后,我们意识到 mypy 并没有真正提醒您实现类型提示。
我正在尝试使用 maven-enforcer-plugin 来确保激活一个配置文件(requireActiveProfile 规则)。请参阅此页面上的第二个示例:Require Active Prof
我已经在谷歌上搜索了两个小时,但没有成功。 如果我有一个模板函数并且我想在模板类型上强制执行一个接口(interface),我该怎么做? 例如。 void doStuff(T)(bool param)
我希望下面的函数只接受 data 对象,前提是其中有 id 键。然后,想要从 data 访问 id。 function someFuntion(data : T){ const id = data['
如果我实现 CQRS 和事件溯源,假设数据的最终存储(读取存储)在 RDBMS 中,我如何维护数据的完整性和一致性? 如果事件已发布但 RDBMS 由于检查违规或缺少 FK 引用而拒绝从中派生的数据怎
我希望下面的函数只接受 data 对象,前提是其中有 id 键。然后,想要从 data 访问 id。 function someFuntion(data : T){ const id = data['
我一直在尝试了解 Julialang 的类型系统但是一些设计方面仍然让我感到困惑。我希望有人能澄清一下。 所以这里的问题是关于抽象类型及其具体实现。从我understand Julia抽象类型不会对其
关注 https://stackoverflow.com/a/59389998/927493 ,现在可以从命令行调用 Maven 执行器插件。 这很好用,但不幸的是我还不明白我是否可以通过命令行设置规
以下是我看到的错误,让我困惑的是为什么它会依赖于 2 个版本的 my-engine 依赖项。一个是 0.9.0-20180510.015454-2,另一个是 0.9.0-SNAPSHOT。 这是我使用
fmtter = logging.Formatter('%(asctime)s,%(msecs)05.1f (%(funcName)s) %(message)s', '%H:%M:%S') rock_
我有一个抽象的 C# 基类,其中有几个必须重写的方法。我该如何执行?现在我抛出一个异常作为基本实现 public virtual string Description {
我正在尝试使用 maven 安装 UIMA JDK。然而,总有一个警告 Rule 0: org.semver.enforcer.RequireBackwardCompatibility failed
简介: 我已经为数据库过滤器构建了一个类层次结构: class Filter { } class PropertyFilter extends Filter { Boolean exists;
我正在将(由我)为 Windows 编写的项目移植到移动平台。 我需要 VirtualAlloc (+friends) 的等价物,自然是 mmap。但是,有 2 个显着差异。 VirtualAlloc
我想使用 Maven Enforcer 插件来检查我的路径上是否有重复的类。 我试过 here 中的示例. 但是当我这样运行时: mvn enforce:enforce 我收到这个错误: Failed
我正在开发一个跨平台的 Python (3.7+) 应用程序,我需要依赖 SQLite 中 TEXT 列的排序顺序,这意味着 TEXT 值的比较算法必须基于 UTF-8 字节。即使系统编码 (sys.
我是一名优秀的程序员,十分优秀!