create_maven_project
Generate a new Maven project with standard structure by specifying groupId, artifactId, and optional parameters like project type and Java version.
Instructions
Creer un nouveau projet Maven vide avec la structure standard
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| groupId | Yes | Group ID du projet (ex: com.example) | |
| artifactId | Yes | Artifact ID du projet (ex: mon-plugin) | |
| version | No | Version du projet (ex: 1.0.0) | 1.0.0 |
| name | No | Nom du projet | |
| description | No | Description du projet | |
| javaVersion | No | Version de Java (ex: 17) | 17 |
| projectType | No | Type de projet Maven | application |
Implementation Reference
- src/index.ts:246-291 (handler)Handler implementation for create_maven_project tool.
async function createMavenProject(args: any) { currentProject = { groupId: args.groupId, artifactId: args.artifactId, version: args.version || "1.0.0", name: args.name || args.artifactId, description: args.description || "", javaVersion: args.javaVersion || "17", files: {}, }; const pomXml = generateDefaultPom(currentProject, args.projectType || "application"); currentProject.files["pom.xml"] = pomXml; if (args.projectType === "plugin") { const mainClass = generateDefaultMojo(currentProject); const packagePath = currentProject.groupId.replace(/\./g, "/"); currentProject.files[`src/main/java/${packagePath}/MyMojo.java`] = mainClass; } else { const mainClass = generateDefaultMainClass(currentProject); const packagePath = currentProject.groupId.replace(/\./g, "/"); currentProject.files[`src/main/java/${packagePath}/Main.java`] = mainClass; } return { content: [ { type: "text", text: `Projet Maven cree avec succes!\n\n` + `Details du projet:\n` + `- Group ID: ${currentProject.groupId}\n` + `- Artifact ID: ${currentProject.artifactId}\n` + `- Version: ${currentProject.version}\n` + `- Type: ${args.projectType || "application"}\n` + `- Java Version: ${currentProject.javaVersion}\n\n` + `Structure creee:\n` + `- pom.xml\n` + `- ${args.projectType === "plugin" ? "MyMojo.java (classe de plugin)" : "Main.java (classe principale)"}\n\n` + `Prochaines etapes:\n` + `- Utilisez 'add_java_file' pour ajouter des classes\n` + `- Utilisez 'add_resource_file' pour ajouter des ressources\n` + `- Utilisez 'generate_zip' pour creer le package final`, }, ], }; } - src/index.ts:40-75 (schema)Schema definition for the create_maven_project tool.
{ name: "create_maven_project", description: "Creer un nouveau projet Maven vide avec la structure standard", inputSchema: { type: "object", properties: { groupId: { type: "string", description: "Group ID du projet (ex: com.example)", }, artifactId: { type: "string", description: "Artifact ID du projet (ex: mon-plugin)", }, version: { type: "string", description: "Version du projet (ex: 1.0.0)", default: "1.0.0", }, name: { type: "string", description: "Nom du projet", }, description: { type: "string", description: "Description du projet", }, javaVersion: { type: "string", description: "Version de Java (ex: 17)", default: "17", }, projectType: { type: "string", description: "Type de projet Maven", enum: ["plugin", "library", "application"], - src/index.ts:215-216 (registration)Registration/routing of the create_maven_project tool.
case "create_maven_project": return await createMavenProject(args);