Instructions for Examples lead to java.lang.ClassNotFoundException: io.kubernetes.client.examples.xxxExample
envgap__kubernetes-client__java-1615
01 / FAILURE SIGNATURE
Captured in a clean container
[ERROR] Failed to execute goal on project client-java-examples-release-12: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-12:jar:12.0.1-SNAPSHOT: The following artifacts could not be resolved: io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT, io.kubernetes:client-java-prometheus-operator-models:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT -> [Help 1]
02 / ENVIRONMENT RECIPE
- Base commit
f58be100d49d8739317d575f393ae28b81a1b361- Manifest
examples/examples-release-12/pom.xml- Reproduce
mvn -B -q -f examples/examples-release-12/pom.xml -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip -DskipTests package- Run under trace
mvn -B -q -f examples/examples-release-12/pom.xml -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip -DskipTests package
Reference environment fix used for admission
diff --git a/examples/examples-release-11/README.md b/examples/examples-release-11/README.md
index 19ac61196..914bb9cd6 100644
--- a/examples/examples-release-11/README.md
+++ b/examples/examples-release-11/README.md
@@ -3,11 +3,11 @@
```sh
export REPO_ROOT=/path/to/client-java/repo
-cd ${REPO_ROOT}/kubernetes
+cd ${REPO_ROOT}/
mvn install
-cd ${REPO_ROOT}/examples
-mvn package
+cd ${REPO_ROOT}/examples/examples-10
+mvn compile
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
```
diff --git a/examples/examples-release-12/README.md b/examples/examples-release-12/README.md
index 19ac61196..64ad8b80f 100644
--- a/examples/examples-release-12/README.md
+++ b/examples/examples-release-12/README.md
@@ -3,11 +3,11 @@
```sh
export REPO_ROOT=/path/to/client-java/repo
-cd ${REPO_ROOT}/kubernetes
+cd ${REPO_ROOT}/
mvn install
-cd ${REPO_ROOT}/examples
-mvn package
+cd ${REPO_ROOT}/examples/examples-12
+mvn compile
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
```
diff --git a/examples/examples-release-12/pom.xml b/examples/examples-release-12/pom.xml
index 318e771de..ff2e5dff4 100644
--- a/examples/examples-release-12/pom.xml
+++ b/examples/examples-release-12/pom.xml
@@ -12,8 +12,8 @@
<name>client-java-examples-release-12</name>
<properties>
- <kubernetes.prometheus.version>12.0.1-SNAPSHOT</kubernetes.prometheus.version>
- <kubernetes.cert-manager.version>12.0.1-SNAPSHOT</kubernetes.cert-manager.version>
+ <kubernetes.prometheus.version>10.0.1</kubernetes.prometheus.version>
+ <kubernetes.cert-manager.version>10.0.1</kubernetes.cert-manager.version>
</properties>
<dependencies>
diff --git a/examples/examples-release-13/README.md b/examples/examples-release-13/README.md
index 19ac61196..98a3dee17 100644
--- a/examples/examples-release-13/README.md
+++ b/examples/examples-release-13/README.md
@@ -3,11 +3,11 @@
```sh
export REPO_ROOT=/path/to/client-java/repo
-cd ${REPO_ROOT}/kubernetes
+cd ${REPO_ROOT}/
mvn install
-cd ${REPO_ROOT}/examples
-mvn package
+cd ${REPO_ROOT}/examples/examples-13
+mvn compile
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
```03 / ORIGINAL ISSUE TEXT
kubernetes-client/java #1615 · read the original issue
**Describe the bug**
Instructions for Examples lead to java.lang.ClassNotFoundException: io.kubernetes.client.examples.xxxExample
The content of the Readme files
```
examples/examples-release-10
examples/examples-release-11
examples/examples-release-12
examples/examples-release-13
```
have all the same misleading content:
```
export REPO_ROOT=/path/to/client-java/repo
cd ${REPO_ROOT}/kubernetes
mvn install
cd ${REPO_ROOT}/examples
mvn package
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
```
If you follow those instructions, then the `mvn exec` command will give you an error
```
java.lang.ClassNotFoundException: io.kubernetes.client.examples.Example
```
Then I have tried to do the following:
```
cd examples-release-13
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
```
Here, we get another error message:
```
[ERROR] Failed to execute goal on project client-java-examples-release-13: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-13:jar:12.0.1-SNAPSHOT: Failed to collect dependencies at io.kubernetes:client-java-api:jar:12.0.1-SNAPSHOT: Failed to read artifact descriptor for io.kubernetes:client-java-api:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-parent:pom:12.0.1-SNAPSHOT -> [Help 1]
```
Newbees have a hard time with those examples, I can tell. I was interested in the InClusterClientExample, and I found that none of the versions 11, 12 (12 this is the version the Readme of the main project points to) and 13 work. Only version 10 seems to work:
Version 13:
```
cd ${REPO_ROOT}/examples/examples-release-13
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.InClusterClientExample"
...
[ERROR] Failed to execute goal on project client-java-examples-release-13: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-13:jar:12.0.1-SNAPSHOT: Failed to collect dependencies at io.kubernetes:client-java-api:jar:12.0.1-SNAPSHOT: Failed to read artifact descriptor for io.kubernetes:client-java-api:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-parent:pom:12.0.1-SNAPSHOT -> [Help 1]
```
Version 12:
```
cd ${REPO_ROOT}/examples/examples-release-12
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.InClusterClientExample"
...
[ERROR] Failed to execute goal on project client-java-examples-release-12: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-12:jar:12.0.1-SNAPSHOT: The following artifacts could not be resolved: io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT, io.kubernetes:client-java-prometheus-operator-models:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT -> [Help 1]
```
Version 11 and Version 10 seem to work. They only have a problem with the permissions:
```
cd ${REPO_ROOT}/examples/examples-release-12
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.InClusterClientExample"
...
io.kubernetes.client.openapi.ApiException: Forbidden
```
However, IMHO, to make it easier for newbees, the example should describe how to prepare the environment including the service account and rbac, so the example works.
** Client Version **
master (99bab18)
** Kubernetes Version **
`1.14.1`
** Java Version **
Java 11.0.9.1
**To Reproduce**
See above
**Expected behavior**
When following the Example Readmes, we should receive a success.
**KubeConfig**
Not applicable
**Server (please complete the following information):**
- OS: Linux CentOS 7
- native
**Additional context**
Add any other context about the problem here.
04 / LABELS
Labels checked by running the task · needs human review
misspecificationunderspecificationLabel rules and the text that matched
[
{
"category": "misspecification",
"rule": "signature.unresolvable_declared_requirement",
"source": "failure_signature",
"excerpt": "[ERROR] Failed to execute goal on project client-java-examples-release-12: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-12:jar:12.0.1-SNAPSHOT: The following artifacts could not be resolved: io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT, io.kubernetes:client-java-prometheus-operator-models:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT -> [Help 1]"
},
{
"category": "underspecification",
"rule": "signature.missing_system_requirement",
"source": "failure_signature",
"excerpt": "[ERROR] Failed to execute goal on project client-java-examples-release-12: Could not resolve dependencies for project io.kubernetes:client-java-examples-release-12:jar:12.0.1-SNAPSHOT: The following artifacts could not be resolved: io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT, io.kubernetes:client-java-prometheus-operator-models:jar:12.0.1-SNAPSHOT: Could not find artifact io.kubernetes:client-java-cert-manager-models:jar:12.0.1-SNAPSHOT -> [Help 1]"
},
{
"category": "misspecification",
"rule": "diff.changes_existing_manifest_line",
"source": "manifest_diff:examples/examples-release-12/pom.xml",
"excerpt": "-\t\t<kubernetes.prometheus.version>12.0.1-SNAPSHOT</kubernetes.prometheus.version>\n-\t\t<kubernetes.cert-manager.version>12.0.1-SNAPSHOT</kubernetes.cert-manager.version>\n+\t\t<kubernetes.prometheus.version>10.0.1</kubernetes.prometheus.version>\n+\t\t<kubernetes.cert-manager.version>10.0.1</kubernetes.cert-manager.version>"
}
]Mined from a merged pull request linked to the issue whose changed files are all environment files.
The base commit is the pull request's base, not the dated default-branch commit; the registry is pinned to the merge date so the pull request's own pins resolve.
Default commands from envgap default-recipe synthesizer v1; gold_files are the pull request's environment diff.
Preparation uses current registries. Historical package availability is not enforced here; execution metadata records this limitation separately from the oracle's date-bounding policy.