#!/bin/bash # Generate Maven pom.xml for decompiled project # Usage: ./generate-pom.sh set -e PROJECT_DIR="${1:?Usage: generate-pom.sh }" GROUP_ID="${2:-com.example}" ARTIFACT_ID="${3:-$(basename "$PROJECT_DIR")}" VERSION="1.0.0" POM_FILE="$PROJECT_DIR/pom.xml" echo "Generating Maven pom.xml..." echo " Group: $GROUP_ID" echo " Artifact: $ARTIFACT_ID" echo " Output: $POM_FILE" # Detect common frameworks from class names SPRING=false STRUTS=false IBATIS=false HIBERNATE=false AXIS=false # Scan for framework indicators if find "$PROJECT_DIR" -name "*.java" -exec grep -l "org.springframework" {} \; 2>/dev/null | head -1 | grep -q .; then SPRING=true fi if find "$PROJECT_DIR" -name "*.java" -exec grep -l "org.apache.struts" {} \; 2>/dev/null | head -1 | grep -q .; then STRUTS=true fi if find "$PROJECT_DIR" -name "*.java" -exec grep -l "com.ibatis" {} \; 2>/dev/null | head -1 | grep -q .; then IBATIS=true fi if find "$PROJECT_DIR" -name "*.java" -exec grep -l "org.hibernate" {} \; 2>/dev/null | head -1 | grep -q .; then HIBERNATE=true fi if find "$PROJECT_DIR" -name "*.java" -exec grep -l "org.apache.axis" {} \; 2>/dev/null | head -1 | grep -q .; then AXIS=true fi # Generate pom.xml cat > "$POM_FILE" << EOF 4.0.0 ${GROUP_ID} ${ARTIFACT_ID} ${VERSION} war 1.8 1.8 UTF-8 javax.servlet javax.servlet-api 3.1.0 provided javax.servlet.jsp javax.servlet.jsp-api 2.3.1 provided EOF # Add Spring dependencies if detected if [ "$SPRING" = true ]; then cat >> "$POM_FILE" << EOF org.springframework spring-context 3.2.18.RELEASE org.springframework spring-web 3.2.18.RELEASE org.springframework spring-jdbc 3.2.18.RELEASE EOF fi # Add Struts if detected if [ "$STRUTS" = true ]; then cat >> "$POM_FILE" << EOF org.apache.struts struts2-core 2.3.37 EOF fi # Add iBatis if detected if [ "$IBATIS" = true ]; then cat >> "$POM_FILE" << EOF org.apache.ibatis ibatis-sqlmap 2.3.4.726 EOF fi # Add Axis if detected if [ "$AXIS" = true ]; then cat >> "$POM_FILE" << EOF org.apache.axis axis 1.4 javax.xml jaxrpc-api 1.1 EOF fi # Add Oracle JDBC (common in enterprise apps) cat >> "$POM_FILE" << EOF log4j log4j 1.2.17 junit junit 4.12 test ${ARTIFACT_ID} org.apache.maven.plugins maven-war-plugin 3.3.1 EOF echo "Generated: $POM_FILE" echo "" echo "Detected frameworks:" [ "$SPRING" = true ] && echo " ✓ Spring" [ "$STRUTS" = true ] && echo " ✓ Struts" [ "$IBATIS" = true ] && echo " ✓ iBatis" [ "$AXIS" = true ] && echo " ✓ Axis Web Services" echo "" echo "Note: You may need to manually install Oracle JDBC to local Maven repo:" echo " mvn install:install-file -Dfile=ojdbc14.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4 -Dpackaging=jar"