во время запуска проекта MVN, используя эту команду (предложено GitHub Co-Pilot): < /p>
mvn exec:java -Dexec.mainClass="be.ua.sea.NounGenerator"
< /code>
Я продолжаю получать эту ошибку: < /p>
[Ошибка] Неизвестная фаза жизненного цикла ".mainclass = be.ua.sea.noungenerator".
Вы должны указать действительный этап жизненного цикла или цель в формате
: или
:11:. /> < /blockquote>
Со-пилот продолжает говорить мне, что существует ошибка синтаксиса, а затем дает мне ту же «Исправленную» команду. < /p>
файл pom.xml здесь: < /p>
< /p>
4.0.0
be.ua.sea
tac-rest-server
jar
1.0-SNAPSHOT
tac-rest-server
org.eclipse.jetty
jetty-server
11.0.24
org.eclipse.jetty
jetty-servlet
11.0.24
org.eclipse.jetty
jetty-webapp
11.0.24
org.slf4j
slf4j-api
2.0.7
ch.qos.logback
logback-classic
1.4.7
javax.xml.bind
jaxb-api
2.3.1
org.glassfish.jaxb
jaxb-runtime
2.3.3
org.glassfish.jersey.containers
jersey-container-jetty-http
3.1.10
org.glassfish.jersey.inject
jersey-hk2
3.1.10
org.glassfish.jersey.containers
jersey-container-servlet
3.1.10
org.glassfish.jersey.core
jersey-common
3.1.10
org.glassfish.jersey.media
jersey-media-json-binding
3.1.10
jakarta.servlet
jakarta.servlet-api
6.1.0
jakarta.activation
jakarta.activation-api
2.0.1
com.fasterxml.jackson.core
jackson-databind
2.15.0
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
2.13.0
org.codehaus.mojo
exec-maven-plugin
3.0.0
java
be.ua.sea.NounGenerator
org.apache.maven.plugins
maven-shade-plugin
3.6.0
package
shade
be.ua.sea.TacRestServer
< /code>
Заранее извиняюсь.package be.ua.sea;
import java.io.*;
import java.util.*;
public class NounGenerator {
public static void main(String[] args) {
String inputFilePath = "c:/Users/victo/SOFTWARE ENGINEERING/OEFENINGEN/assignment14/input.txt";
String outputDir = "c:/Users/victo/SOFTWARE ENGINEERING/OEFENINGEN/assignment14/target/main/java/be/ua/sea/";
List nounClasses = readInputFile(inputFilePath);
for (NounClass nounClass : nounClasses) {
generateJavaFiles(nounClass, outputDir);
}
}
private static List readInputFile(String filePath) {
List nounClasses = new ArrayList();
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
String[] parts = line.split(",");
NounClass nounClass = new NounClass();
nounClass.setName(parts[0]);
nounClass.setAttributes(Arrays.asList(parts[1].split(";")));
nounClass.setConstructorParams(parts[2]);
nounClass.setMethods(Arrays.asList(parts[3].split(";")));
nounClasses.add(nounClass);
}
} catch (IOException e) {
e.printStackTrace();
}
return nounClasses;
}
private static void generateJavaFiles(NounClass nounClass, String outputDir) {
createDirectories(outputDir);
generateMainClass(nounClass, outputDir);
generateFileReaderClass(nounClass, outputDir);
generateFileWriterClass(nounClass, outputDir);
generateListClass(nounClass, outputDir);
generateSearcherClass(nounClass, outputDir);
generateRestModelClass(nounClass, outputDir);
generateRestResourceClass(nounClass, outputDir);
}
private static void createDirectories(String outputDir) {
new File(outputDir).mkdirs();
}
private static void generateMainClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName();
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("public class " + className + " {");
for (String attribute : nounClass.getAttributes()) {
writer.println(" private " + attribute + ";");
}
writer.println(" public " + className + "(" + nounClass.getConstructorParams() + ") {");
for (String attribute : nounClass.getAttributes()) {
String[] parts = attribute.split(" ");
writer.println(" this." + parts[1] + " = " + parts[1] + ";");
}
writer.println(" }");
for (String attribute : nounClass.getAttributes()) {
String[] parts = attribute.split(" ");
writer.println(" public " + parts[0] + " get" + capitalize(parts[1]) + "() { return " + parts[1] + "; }");
writer.println(" public void set" + capitalize(parts[1]) + "(" + parts[0] + " " + parts[1] + ") { this." + parts[1] + " = " + parts[1] + "; }");
}
writer.println(" public String giveOverview() {");
writer.println(" return \"" + className + " [\" + ");
for (String attribute : nounClass.getAttributes()) {
String[] parts = attribute.split(" ");
writer.println(" \"" + parts[1] + "=\" + " + parts[1] + " + \", \" + ");
}
writer.println(" \"]\";");
writer.println(" }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateFileReaderClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "FileReader";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("import java.io.*;");
writer.println("import java.util.*;");
writer.println("public class " + className + " {");
writer.println(" public List readCsvFile(String fileName) {");
writer.println(" List list = new ArrayList();");
writer.println(" try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {");
writer.println(" String line;");
writer.println(" while ((line = br.readLine()) != null) {");
writer.println(" String[] parts = line.split(\",\");");
writer.println(" " + nounClass.getName() + " obj = new " + nounClass.getName() + "(/* constructor params */);");
writer.println(" // Set attributes");
writer.println(" list.add(obj);");
writer.println(" }");
writer.println(" } catch (IOException e) {");
writer.println(" e.printStackTrace();");
writer.println(" }");
writer.println(" return list;");
writer.println(" }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateFileWriterClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "FileWriter";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("import java.io.*;");
writer.println("import java.util.*;");
writer.println("public class " + className + " {");
writer.println(" public void writeCsvFile(List list, String fileName) {");
writer.println(" try (PrintWriter pw = new PrintWriter(new FileWriter(fileName))) {");
writer.println(" for (" + nounClass.getName() + " obj : list) {");
writer.println(" pw.println(/* attributes */);");
writer.println(" }");
writer.println(" } catch (IOException e) {");
writer.println(" e.printStackTrace();");
writer.println(" }");
writer.println(" }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateListClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "List";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("import java.util.*;");
writer.println("public class " + className + " {");
writer.println(" private List members = new ArrayList();");
writer.println(" public List getMembers() { return members; }");
writer.println(" public void addMember(" + nounClass.getName() + " member) { members.add(member); }");
writer.println(" public void addAllMembers(" + className + " list) { members.addAll(list.getMembers()); }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateSearcherClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "ListSearcher";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("public class " + className + " {");
writer.println(" private " + nounClass.getName() + "List list;");
writer.println(" public " + className + "(" + nounClass.getName() + "List list) { this.list = list; }");
writer.println(" public " + nounClass.getName() + "List searchByAttribute(String attribute) {");
writer.println(" " + nounClass.getName() + "List result = new " + nounClass.getName() + "List();");
writer.println(" for (" + nounClass.getName() + " obj : list.getMembers()) {");
writer.println(" if (/* condition */) { result.addMember(obj); }");
writer.println(" }");
writer.println(" return result;");
writer.println(" }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateRestModelClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "JsonModel";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("public class " + className + " {");
for (String attribute : nounClass.getAttributes()) {
writer.println(" private " + attribute + ";");
}
for (String attribute : nounClass.getAttributes()) {
String[] parts = attribute.split(" ");
writer.println(" public " + parts[0] + " get" + capitalize(parts[1]) + "() { return " + parts[1] + "; }");
writer.println(" public void set" + capitalize(parts[1]) + "(" + parts[0] + " " + parts[1] + ") { this." + parts[1] + " = " + parts[1] + "; }");
}
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void generateRestResourceClass(NounClass nounClass, String outputDir) {
String className = nounClass.getName() + "Resource";
String filePath = outputDir + className + ".java";
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("package be.ua.sea;");
writer.println("import jakarta.ws.rs.*;");
writer.println("import jakarta.ws.rs.core.*;");
writer.println("import java.util.*;");
writer.println("@Path(\"/" + nounClass.getName().toLowerCase() + "s\")");
writer.println("public class " + className + " {");
writer.println(" private " + nounClass.getName() + "List repository = new " + nounClass.getName() + "List();");
writer.println(" @GET");
writer.println(" @Produces(MediaType.APPLICATION_JSON)");
writer.println(" public List getAll() {");
writer.println(" List result = new ArrayList();");
writer.println(" for (" + nounClass.getName() + " obj : repository.getMembers()) {");
writer.println(" " + nounClass.getName() + "JsonModel jsonModel = new " + nounClass.getName() + "JsonModel();");
writer.println(" // Set jsonModel attributes");
writer.println(" result.add(jsonModel);");
writer.println(" }");
writer.println(" return result;");
writer.println(" }");
writer.println("}");
} catch (IOException e) {
e.printStackTrace();
}
}
private static String capitalize(String str) {
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
}
class NounClass {
private String name;
private List attributes;
private String constructorParams;
private List methods;
// Getters and setters
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public List getAttributes() { return attributes; }
public void setAttributes(List attributes) { this.attributes = attributes; }
public String getConstructorParams() { return constructorParams; }
public void setConstructorParams(String constructorParams) { this.constructorParams = constructorParams; }
public List getMethods() { return methods; }
public void setMethods(List methods) { this.methods = methods; }
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... e-in-maven
Неизвестная фаза жизненного цикла в Maven ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение