mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-09 16:30:29 +08:00
18810ef9c6
- Reactor POM with 4 sub-modules (interface/data/service/web) - all-lib/ with 255 extracted JARs from original fat JAR - .m2-isolated/ repo with 252 installed JARs - interface module: BUILD SUCCESS (325 classes) - data module: BUILD SUCCESS (120 classes) - service module: 200 type errors (CFR decompilation artifacts) - install-libs.sh for isolated repo setup - Feign fallback inner classes separated
100 lines
4.2 KiB
Bash
100 lines
4.2 KiB
Bash
#!/bin/bash
|
|
# Install all 255 JARs from original fat JAR to isolated .m2 repo
|
|
# Usage: bash install-libs.sh
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
ALL_LIB="$SCRIPT_DIR/all-lib"
|
|
LOCAL_REPO="$SCRIPT_DIR/.m2-isolated/repository"
|
|
|
|
mkdir -p "$LOCAL_REPO"
|
|
echo "Installing JARs to $LOCAL_REPO"
|
|
|
|
count=0
|
|
for f in "$ALL_LIB"/*.jar; do
|
|
name=$(basename "$f" .jar)
|
|
|
|
# Determine group:artifact:version based on filename pattern
|
|
case "$name" in
|
|
spring-boot-starter-*) g="org.springframework.boot"; a="$name"; v="${name#spring-boot-starter-}" ;;
|
|
spring-cloud-starter-*) g="org.springframework.cloud"; a="$name"; v="" ;;
|
|
spring-*) g="org.springframework"; a="$name"; v="" ;;
|
|
jackson-*) g="com.fasterxml.jackson.core"; a="$name"; v="" ;;
|
|
feign-*) g="io.github.openfeign"; a="$name"; v="" ;;
|
|
ribbon-*|hystrix-*|servo-*|archaius-*|netflix-*|rxjava*|rxnetty*) g="com.netflix"; a="$name"; v="" ;;
|
|
cloudwalk-*) g="cn.cloudwalk.cloud"; a="$name"; v="" ;;
|
|
cwos-*) g="cn.cloudwalk.cwos"; a="$name"; v="" ;;
|
|
davinci-*) g="cn.cloudwalk.intelligent"; a="$name"; v="" ;;
|
|
ninca-*) g="cn.cloudwalk.ninca"; a="$name"; v="" ;;
|
|
ai-cloud-task-*) g="cn.cloudwalk.task"; a="$name"; v="" ;;
|
|
mybatis-*) g="org.mybatis"; a="$name"; v="" ;;
|
|
pagehelper-*) g="com.github.pagehelper"; a="$name"; v="" ;;
|
|
lombok-*) g="org.projectlombok"; a="$name"; v="" ;;
|
|
fastjson-*) g="com.alibaba"; a="$name"; v="" ;;
|
|
hutool-*) g="cn.hutool"; a="$name"; v="" ;;
|
|
poi-*) g="org.apache.poi"; a="$name"; v="" ;;
|
|
quartz-*) g="org.quartz-scheduler"; a="$name"; v="" ;;
|
|
okhttp*|okio*) g="com.squareup.okhttp3"; a="$name"; v="" ;;
|
|
httpclient*|httpcore*) g="org.apache.httpcomponents"; a="$name"; v="" ;;
|
|
commons-*) g="org.apache.commons"; a="$name"; v="" ;;
|
|
tomcat-*) g="org.apache.tomcat"; a="$name"; v="" ;;
|
|
slf4j-*) g="org.slf4j"; a="$name"; v="" ;;
|
|
logback-*) g="ch.qos.logback"; a="$name"; v="" ;;
|
|
jackson-*) g="com.fasterxml.jackson.core"; a="$name"; v="" ;;
|
|
zookeeper-*|curator-*) g="org.apache.zookeeper"; a="$name"; v="" ;;
|
|
kafka-*) g="org.apache.kafka"; a="$name"; v="" ;;
|
|
consul-*) g="com.ecwid.consul"; a="$name"; v="" ;;
|
|
dubbo-*) g="com.alibaba"; a="$name"; v="" ;;
|
|
druid-*) g="com.alibaba"; a="$name"; v="" ;;
|
|
jedis-*) g="redis.clients"; a="$name"; v="" ;;
|
|
mysql-*) g="mysql"; a="$name"; v="" ;;
|
|
gson-*) g="com.google.code.gson"; a="$name"; v="" ;;
|
|
guava-*) g="com.google.guava"; a="$name"; v="" ;;
|
|
opencv-*|javacpp*) g="org.bytedeco"; a="$name"; v="" ;;
|
|
springside-*) g="org.springside"; a="$name"; v="" ;;
|
|
zip4j-*) g="net.lingala.zip4j"; a="$name"; v="" ;;
|
|
jasypt-*) g="org.jasypt"; a="$name"; v="" ;;
|
|
opencsv-*) g="net.sf.opencsv"; a="$name"; v="" ;;
|
|
maven-*) g="org.apache.maven"; a="$name"; v="" ;;
|
|
plexus-*) g="org.codehaus.plexus"; a="$name"; v="" ;;
|
|
reflections-*) g="org.reflections"; a="$name"; v="" ;;
|
|
thumbnailator-*) g="net.coobird"; a="$name"; v="" ;;
|
|
snakeyaml-*) g="org.yaml"; a="$name"; v="" ;;
|
|
hibernate-*) g="org.hibernate"; a="$name"; v="" ;;
|
|
validation-api*) g="javax.validation"; a="$name"; v="" ;;
|
|
javax.inject*) g="javax.inject"; a="$name"; v="" ;;
|
|
servlet-api*|javax.servlet*) g="javax.servlet"; a="$name"; v="" ;;
|
|
joda-time*) g="joda-time"; a="$name"; v="" ;;
|
|
jcl-over-slf4j*|jul-to-slf4j*|log4j-over-slf4j*) g="org.slf4j"; a="$name"; v="" ;;
|
|
log4j*) g="log4j"; a="$name"; v="" ;;
|
|
*) g="lib.ext"; a="$name"; v="1.0" ;;
|
|
esac
|
|
|
|
# Skip opencv/javacpp (native)
|
|
echo "$name" | grep -q 'opencv\|javacpp' && continue
|
|
|
|
# Determine version
|
|
if [ -z "$v" ]; then
|
|
v=$(echo "$name" | grep -oP '\d[\d.]*.*' || echo "1.0")
|
|
a=$(echo "$name" | sed 's/-[0-9].*//')
|
|
fi
|
|
|
|
# Build artifact directory
|
|
dir="$LOCAL_REPO/$(echo $g | tr '.' '/')/$a/$v"
|
|
mkdir -p "$dir"
|
|
cp "$f" "$dir/$a-$v.jar"
|
|
|
|
# Generate minimal pom
|
|
cat > "$dir/$a-$v.pom" << POMEOF
|
|
<?xml version="1.0"?>
|
|
<project><modelVersion>4.0.0</modelVersion>
|
|
<groupId>$g</groupId><artifactId>$a</artifactId><version>$v</version>
|
|
</project>
|
|
POMEOF
|
|
|
|
count=$((count + 1))
|
|
if [ $((count % 50)) -eq 0 ]; then echo " $count/255"; fi
|
|
done
|
|
|
|
echo "Installed $count JARs to $LOCAL_REPO"
|