maven-build
Maven build configuration for the crypto-scout multi-module Java 25 project
npxskills add majiayu000/claude-skill-registry--skill maven-buildLoading…
Maven build configuration for the crypto-scout multi-module Java 25 project
npxskills add majiayu000/claude-skill-registry--skill maven-buildLoading…
Provide guidance for building, testing, and packaging the crypto-scout multi-module Maven project.
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
# Clean and build all modules
mvn clean install
# Build without tests (faster)
mvn -q -DskipTests install
# Build specific module
cd crypto-scout-client
mvn clean package
# Build with dependency resolution from root
cd crypto-scout-collector
mvn clean package -DskipTests
# Run all tests
mvn test
# Run tests for specific module
cd crypto-scout-test && mvn test
# Run single test class
mvn test -Dtest=AmqpPublisherTest
# Run single test method
mvn test -Dtest=AmqpPublisherTest#shouldPublishPayloadToStream
# Run with extended timeout (slow environments)
mvn -q -Dpodman.compose.up.timeout.min=5 test
# Custom database URL for tests
mvn -q -Dtest.db.jdbc.url=jdbc:postgresql://localhost:5432/crypto_scout test
# Clean all modules
mvn clean
# Clean and rebuild single module
cd crypto-scout-client && mvn clean package -DskipTests
<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>
<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>
jcryptolib - JSON utilitiesjunit-jupiter - JUnit 6 testingstream-client - RabbitMQ Streamsamqp-client - RabbitMQ AMQPpostgresql - PostgreSQL driverjcryptolib - JSON utilities, clientsactivej-servicegraph - DI and lifecycleactivej-jmx - JMX monitoringstream-client - RabbitMQ Streamsjcryptolib - JSON utilitiesactivej-servicegraph - DI and lifecycleactivej-jmx - JMX monitoringactivej-datastream - Data streamingstream-client - RabbitMQ Streamsamqp-client - RabbitMQ AMQPpostgresql - PostgreSQL driverHikariCP - Connection pooling| 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 |
# crypto-scout-client
java -jar crypto-scout-client/target/crypto-scout-client-0.0.1.jar
# crypto-scout-collector
java -jar crypto-scout-collector/target/crypto-scout-collector-0.0.1.jar
# crypto-scout-analyst
java -jar crypto-scout-analyst/target/crypto-scout-analyst-0.0.1.jar
# Clear local repo and rebuild
rm -rf ~/.m2/repository/com/github/akarazhev
mvn clean install
# Debug dependency tree
mvn dependency:tree
# Check for updates
mvn versions:display-dependency-updates
# Run with verbose output
mvn test -X
# Skip tests temporarily
mvn install -DskipTests
# Run specific test with debug
mvn test -Dtest=ClassName -Dmaven.surefire.debug
Use this skill when:
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).