Create an examples/java and examples/java8 uber jar that doesn't contain a runner
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 205
Description
In addition to the regular artifact examples/java and examples/java8 that are produced, consider making an uber jar as an additional attached artifact that shades all the dependencies for easier command line usage so that it can be joined with a runner uber jar.
```
java -cp examples.jar:myrunner.jar WordCount ...
```
Also look at the maven archetypes found in:
https://github.com/apache/beam/tree/master/sdks/java/maven-archetypes
Imported from Jira [BEAM-2251](https://issues.apache.org/jira/browse/BEAM-2251). Original Jira may contain additional context.
Reported by: lcwik.
Contributor guide
Research direction
Start by examining how the examples/java and examples/java8 artifacts are produced, then review the Maven archetypes under sdks/java/maven-archetypes. Verify the packaging flow for the requested dependency-shaded artifacts and use the shown java -cp invocation as the usage check; done means both additional artifacts are attached without including a runner.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100