<< All versions
Skill v1.0.1
currentAutomated scan100/100diegosouzapw/awesome-omni-skill/maven-build-majiayu000
1 files
──Details
PublishedJune 24, 2026 at 09:39 PM
Content Hashsha256:a6f6e778b790c9ff...
Git SHAa6b3c3005ced
Bump Typepatch
──Files
Files (1 file, 6.3 KB)
SKILL.md6.3 KBactive
SKILL.md · 247 lines · 6.3 KB
version: "1.0.1" name: maven-build description: Maven build configuration for the crypto-scout multi-module Java 25 project license: MIT compatibility: opencode metadata: tool: maven language: java version: "25"
What I Do
Provide guidance for building, testing, and packaging the crypto-scout multi-module Maven project.
Project Structure
crypto-scout/├── pom.xml # Root aggregator POM├── crypto-scout-test/│ └── pom.xml # Test library├── crypto-scout-client/│ └── pom.xml # Data collection service├── crypto-scout-collector/│ └── pom.xml # Data persistence service└── crypto-scout-analyst/└── pom.xml # Analysis service
Build Commands
Full Build
bash
# Clean and build all modulesmvn clean install# Build without tests (faster)mvn -q -DskipTests install
Module-Specific Builds
bash
# Build specific modulecd crypto-scout-clientmvn clean package# Build with dependency resolution from rootcd crypto-scout-collectormvn clean package -DskipTests
Testing
bash
# Run all testsmvn test# Run tests for specific modulecd crypto-scout-test && mvn test# Run single test classmvn test -Dtest=AmqpPublisherTest# Run single test methodmvn test -Dtest=AmqpPublisherTest#shouldPublishPayloadToStream# Run with extended timeout (slow environments)mvn -q -Dpodman.compose.up.timeout.min=5 test# Custom database URL for testsmvn -q -Dtest.db.jdbc.url=jdbc:postgresql://localhost:5432/crypto_scout test
Clean Build
bash
# Clean all modulesmvn clean# Clean and rebuild single modulecd crypto-scout-client && mvn clean package -DskipTests
POM Configuration
Root POM (Aggregator)
xml
<project><groupId>com.github.akarazhev.cryptoscout</groupId><artifactId>crypto-scout</artifactId><version>0.0.1</version><packaging>pom</packaging><modules><module>crypto-scout-test</module><module>crypto-scout-client</module><module>crypto-scout-collector</module><module>crypto-scout-analyst</module></modules></project>
Module POM Structure
xml
<project><parent><groupId>com.github.akarazhev.cryptoscout</groupId><artifactId>crypto-scout</artifactId><version>0.0.1</version></parent><artifactId>crypto-scout-client</artifactId><packaging>jar</packaging><properties><java.version>25</java.version><maven.compiler.release>25</maven.compiler.release><activej.version>6.0-rc2</activej.version><stream-client.version>1.4.0</stream-client.version></properties><build><plugins><!-- Compiler plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.14.1</version><configuration><release>25</release></configuration></plugin><!-- Shade plugin for fat JAR --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.6.1</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.github.akarazhev.cryptoscout.Client</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>
Key Dependencies by Module
crypto-scout-test
jcryptolib- JSON utilitiesjunit-jupiter- JUnit 6 testingstream-client- RabbitMQ Streamsamqp-client- RabbitMQ AMQPpostgresql- PostgreSQL driver
crypto-scout-client
jcryptolib- JSON utilities, clientsactivej-servicegraph- DI and lifecycleactivej-jmx- JMX monitoringstream-client- RabbitMQ Streams
crypto-scout-collector
jcryptolib- JSON utilitiesactivej-servicegraph- DI and lifecycleactivej-jmx- JMX monitoringactivej-datastream- Data streamingstream-client- RabbitMQ Streamsamqp-client- RabbitMQ AMQPpostgresql- PostgreSQL driverHikariCP- Connection pooling
crypto-scout-analyst
- Same as crypto-scout-collector
Build Artifacts
Output Locations
| Module | Artifact | Location | |
|---|---|---|---|
| crypto-scout-test | JAR library | target/crypto-scout-test-0.0.1.jar | |
| crypto-scout-client | Fat JAR | target/crypto-scout-client-0.0.1.jar | |
| crypto-scout-collector | Fat JAR | target/crypto-scout-collector-0.0.1.jar | |
| crypto-scout-analyst | Fat JAR | target/crypto-scout-analyst-0.0.1.jar |
Running Fat JARs
bash
# crypto-scout-clientjava -jar crypto-scout-client/target/crypto-scout-client-0.0.1.jar# crypto-scout-collectorjava -jar crypto-scout-collector/target/crypto-scout-collector-0.0.1.jar# crypto-scout-analystjava -jar crypto-scout-analyst/target/crypto-scout-analyst-0.0.1.jar
Troubleshooting
Build Failures
bash
# Clear local repo and rebuildrm -rf ~/.m2/repository/com/github/akarazhevmvn clean install# Debug dependency treemvn dependency:tree# Check for updatesmvn versions:display-dependency-updates
Test Failures
bash
# Run with verbose outputmvn test -X# Skip tests temporarilymvn install -DskipTests# Run specific test with debugmvn test -Dtest=ClassName -Dmaven.surefire.debug
When to Use Me
Use this skill when:
- Building the project for the first time
- Running tests across modules
- Creating new module POMs
- Troubleshooting build failures
- Configuring Maven plugins
- Understanding dependency management
- Packaging services for deployment