- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有我的第一个多模块程序,项目结构是:
testMods
|
├───checker
│ │
│ │
│ └───src
│ | └───main
│ | └───java
│ | | │
│ | | │
│ | | └──────sample
│ | | | └───Controller.java
│ | | | └───Main.java
| | | | └───MainLauncher.java
│ | | |
| | | └──────module-info.java
│ | |
| | └────resouces
| | └───META-INF
| |
| └────pom.xml
|
└───TextInputProgram
| │
| │
| └───src
| | └───main
| | └───java
| | │
| | │
| | └───project
| | | └───Name1.java
| | | └───Name2.java
| | | └───Name3.java
| | | └───Name4.java
| | |
| | └───module-info.java
| |
| └────pom.xml
|
└────pom.xml
检查器内的 POM:
<?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">
<parent>
<groupId>org.openjfx</groupId>
<artifactId>testMods</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>checker</artifactId>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>12.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>12.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>12.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>TextInputProgram</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<source>11</source>
<target>11</target>
<mainClass>sample.MainLauncher</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
TextInputProgram 内的 POM:
<?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">
<parent>
<groupId>org.openjfx</groupId>
<artifactId>testMods</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>TextInputProgram</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
</project>
主要 POM(testMods):
<?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>org.openjfx</groupId>
<artifactId>testMods</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<modules>
<module>checker</module>
<module>TextInputProgram</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<source>11</source>
<target>11</target>
<manifestEntries>
<Automatic-Module-Name>selenium-api</Automatic-Module-Name>
<Automatic-Module-Name>selenium-chrome-driver</Automatic-Module-Name>
</manifestEntries>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>sample.MainLauncher</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>7.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
当我尝试使用 maven-assemble-plugin
构建为具有所有依赖项的 jar 时,我总是遇到问题:
Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single (make-assembly) on project testMods: Unable to parse configuration of mojo org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single for parameter source: Cannot find 'source' in class org.apache.maven.archiver.MavenArchiveConfiguration
即使我使用路径更改 maven-assemble-plugin 的版本,也会出现同样的问题:
\.m2\repository\org\apache\maven\plugins\maven-assembly-plugin
使用 \.m2\repository\org
路径删除 org 文件夹,无助于解决此问题。当maven重新加载所有依赖项时,我收到错误:再次无法解析mojo的配置
。
我注意到,我不是为所有模块获取单个 jar,而是分别获取两个 jar,但不是为所有模块获取单个 jar。在编译过程中,我得到的目标文件夹只是针对单独的模块,而不是针对主POM。
如果我在主 POM 中删除:
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
然后我在打包和编译期间没有看到这个错误。插件可以工作,但我只会得到单独的 jar ,例如:
如果我运行其中一个,我会看到:
no main manifest attribute, in D:\IdeaProject\testMods\testMods\checker\target\checker-1.0-SNAPSHOT.jar
但我在资源文件夹 MANIFEST 中生成,您可以看到我的结构。为了创建它,我在“项目结构 -> Artifact ”中选择了以下选项:
此外,我尝试在主POM中使用maven-shade-plugin
而不是maven-assemble-plugin
。在这种情况下,我可以编译和打包,但我再次有两个不同的 jar 作为单独的模块,例如:
但不是包含所有这些的主 jar。
有人可以告诉我我需要在这里更正什么才能获得包含所有模块的最终 jar 吗?
最佳答案
我通过以下两行删除
进行了构建
<source>11</source>
<target>11</target>
来自 parent
(testMods) pom 的 maven-assemble-plugin
插件部分,并且构建成功
。
根据 assembly:single 的文档,没有任何名为 source
或 target
的标记定义为有效参数,因此插件失败,无法找到 'source'
(第一个无效标记)
关于java - 无法解析 mojo org.apache.maven.plugins :maven-assembly-plugin:3. 1.1 的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57449879/
我创建了一个带有一些 mojo 的 maven 插件,每个插件都有一个非常特殊的用途。但是对于最终用户来说,一次执行其中一些会很好(顺序至关重要)。 那么如何从一个 mojo 执行中执行其他 mojo
我在玩 Mojolicious 和 websockets。我想将服务器上多个外部命令的输出发送到网页。我在连接和接收消息方面没有问题,但我还想将消息发送回服务器以停止外部命令,同时让其他人继续向客户端
我开发的插件中抛出 ClassNotFoundException。无法找到的类肯定存在,并且其关联项目作为依赖项包含在执行项目的 pom.xml 文件中,如下所示: com.example
我有一个包含 2 个 Maven 插件模块的 mutli 项目:base 和 child (maven-plugin)。 child 依赖基地。 基础插件只有一个类: public abstract
仅当将“-p”添加到 org.codehaus.mojo:exec-maven-plugin:1.6.0:exec 插件时,以下 pom.xml 执行才会失败,删除此参数后它运行正常,但我需要争论,有
我遇到了很多麻烦,我想安装 Mojo::DOM,但我在互联网上找不到安装它的指南。 最佳答案 apt install libmojolicious-perl 或者 cpan install Mojo:
我正在尝试编写一个 maven 插件,包括 mvn 配置参数中自定义类的映射。 有谁知道等效类“Person”的样子: http://maven.apache.org/guides/mini/guid
我有基于 mojolicious 的小应用程序。我在公共(public)目录中有 index.html。当用户要求输入“/”时,我希望有到该文件的路由。 我写了两个解决方案,但我不喜欢它们。 第一个解
阅读开发 maven 插件的指南,我看到您可以定义列表参数和任意对象参数,但是是否可以定义一个参数来标识对象列表,定义为: /** * @parameter */ private List obj
为什么 media:group 出现在 dom 中却不起作用? #!/usr/bin/env perl use warnings; use 5.12.0; use Mojo::UserAgent; m
我有以下使用 Test::Mojo 的测试脚本。当我使用 perl 从命令行运行它时,它输出正确。但是,当我通过“prove -v”运行它时,Mojo 日志记录会重复,并且其中之一不会通过“on me
为什么 media:group 出现在 dom 中却不起作用? #!/usr/bin/env perl use warnings; use 5.12.0; use Mojo::UserAgent; m
我已将 mojo 的插件 build-helper 添加到我的项目 pom 中,为我的集成测试生成一个新的测试源文件夹。当我运行该阶段时,生成测试源 mvn generate-test-sour
是否可以在另一个参数中使用定义的参数?例如,我尝试了这个并发现这是不允许的: @Parameter(required = true) private String semester; @Paramet
如果我尝试在http://flexmojos.sonatype.org/getting-started.html上开始使用我收到一些错误。有人可以帮我吗?我是 Maven 新手,但由于这是一个入门,我
这里有我的 Maven Mojo: import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoEx
我正在开发一种魔力,我设想它有 2 个目标。 例如 /** * @goal validate-user-config * @goal build-user-project
我想知道为什么没有地方说 Maven 中的 getLog() 是如何工作的?如果有人能用几句话描述这个方法的主要任务,那就太好了。 最佳答案 你读过文档了吗? http://maven.apache.
在 Mojo 中,我如何以编程方式获取其他 POM 文件的 Mojo 实例? 在我的用例中,我有一个 Mojo X,它允许在 POM 中声明对其他 Artifact Y 的引用(假设类似于 Depen
我正在使用 Mojolicious 和 Mysql。连接到数据库是simple : url => Mojo::MySQL5->new( 'mysql://user:password@127.0.0
我是一名优秀的程序员,十分优秀!