/ / maven-plugin-pluginでhelp-mojoフェーズを使用してMavenプラグインをコンパイルする-java、maven、maven-plugin

help-mojoフェーズとmaven-plugin-pluginを使用したMavenプラグインのコンパイル-java、maven、maven-plugin

私はの拡張に取り組んでいます MojoHausプラグイン Mavenの場合。 私のプロジェクトは このGitHubリポジトリ.

走ろうとすると mvn clean install、コンパイルは次のエラーメッセージで失敗します。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.4:helpmojo
(help-mojo) on project yaml-properties-maven-plugin: Execution help-mojo of goal
org.apache.maven.plugins:maven-plugin-plugin:3.4:helpmojo failed: syntax error @[11,22] in
file:/home/user/workspace/yaml-properties-maven-plugin/src/main/java/org/codehaus/mojo/properties/ResourceType.java -> [Help 1]

クラス ResourceType 次のようになります。

package org.codehaus.mojo.properties;


import java.util.HashSet;
import java.util.Set;

public enum ResourceType {

PROPERTIES(".properties"),
YAML(new String[]{".yml", ".yaml"});

private final Set<String> fileExtensions;

ResourceType(final String... fileExtensions) {
this.fileExtensions = new HashSet<String>();
for(final String fileExtension: fileExtensions){
this.fileExtensions.add(fileExtension);
}
}

public static Set<String> allFileExtensions(final ResourceType... resourceTypes) {
final Set<String> extensions = new HashSet<String>();
for (final ResourceType resourceType : resourceTypes) {
extensions.addAll(resourceType.fileExtensions());
}

return extensions;
}

public static ResourceType getByFileName(final String fileName) {
for (final ResourceType resourceType : ResourceType.values()) {
for (final String extension : resourceType.fileExtensions()) {
if (fileName.endsWith(extension)) {
return resourceType;
}
}
}

return null;
}

public Set<String> fileExtensions() {
return new HashSet<String>(fileExtensions);
}

}

何が問題なの?

回答:

回答№1は1

QDoxの問題に直面していると思いますが、これはおそらく行の解析に問題があります YAML(new String[]{".yml", ".yaml"});。スタックトレースはそれを確認できます。 varArgsを使用しているため、ソリューションは実際には非常に簡単です。 YAML(".yml", ".yaml");