J'essaie de changer la source d'un cliché Java. Voici ce que je fais:
Téléchargez l'exemple de projet.
svn export https://github.com/snapcore/snapcraft/trunk/demos/java-hello-world
Construisez la capture nommée java-hello-world.
cd java-hello-world snapcraft
Installez le composant logiciel enfichable.
sudo snap install java-hello-world_0_amd64.snap --dangerous
Exécutez le claquement.
java-hello-world.hello
La sortie est
Hello World
comme prévu.
Maintenant, je veux changer le snap pour qu'il affiche "Hello Snap" au lieu de "Hello World". Voici ce que je fais:
Modifier
java-hello-world/snap/snapcraft.yaml
. Changer le gradedevel
et le confinementdevmode
.Modifier
java-hello-world/src/oata/HelloWorld.java
. Changer la ligne 7 àSystem.out.println("Hello Snap");
.Itérer sur le claquement.
snapcraft prime sudo snap try --devmode prime/
La sortie est
Hello World
. J'aimerais avoir la sortieHello Snap
ici.
Ce que je fais mal: Il y a deux choses dans le processus de construction qui me semblent suspectes.
Lors de l'exécution de Snapcraft Premier, il est écrit:
Skipping pull local (already ran) Skipping build local (already ran) Skipping stage local (already ran) Skipping prime local (already ran) Skipping pull wrapper (already ran) Skipping build wrapper (already ran) Skipping stage wrapper (already ran) Skipping prime wrapper (already ran)
Je suppose que ignorer toutes ces étapes implique également d’ignorer la lecture et la compilation du fichier
java-hello-world/src/oata/HelloWorld.java
. C'est pourquoi la sortie est toujours la même après l'édition du fichier. Comment puis-je ne pas sauter cette étape? Le tutoriel dit:Remarque: les différentes étapes de snapcraft sont les suivantes: pull (source du téléchargement pour toutes les parties), construction, étape (consolider les fichiers installés de toutes les parties), premier (distiller jusqu'aux fichiers souhaités), / répertoire). Chaque étape dépend de la précédente à compléter ".
J'ai essayé de le
snapcraft pull
remplacerprime
, mais le résultat est le même.Lors de
snapcraft
la première exécution ,ant
donne un avertissement.[javac] /home/username/Java/java-hello-world/parts/local/build/build.xml:19: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
Je ne sais pas ce que
defaulting to build.sysclasspath=last
signifie. Donc, cela pourrait être le problème. "mis à false pour les constructions répétables" devrait être correct, car c'est ce que cette réponse suggère .
Comment puis-je actualiser la source de la capture après l'avoir modifiée? Merci d'avance.