apache / apache/beam

Create an examples/java and examples/java8 uber jar that doesn't contain a runner

Open
#18,234 0 comments 0 reactions 0 assignees View on GitHub
examples improvement java P3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.