AspectJ + Gradle de configuration
Je voudrais utiliser AspectJ dans Gradle projet (ce n'est pas un projet Android - juste une simple application Java).
Ici est de savoir comment mon build.gradle ressemble:
apply plugin: 'java'
buildscript {
repositories {
maven {
url "https://maven.eveoh.nl/content/repositories/releases"
}
}
dependencies {
classpath "nl.eveoh:gradle-aspectj:1.6"
}
}
repositories {
mavenCentral()
}
project.ext {
aspectjVersion = "1.8.2"
}
apply plugin: 'aspectj'
dependencies {
//aspectj dependencies
aspectpath "org.aspectj:aspectjtools:${aspectjVersion}"
compile "org.aspectj:aspectjrt:${aspectjVersion}"
}
Le code compile, cependant l'aspect semble pas être tissé. Quel peut être le problème?
OriginalL'auteur Kao | 2015-10-05
Vous devez vous connecter pour publier un commentaire.
J'ai été battu avec ce pour un temps, de façon à ce que la config que j'utilise et qui fonctionne bien.
Dans votre configuration de ce faire.
Dans vos dépendances utiliser la configuration suivante. Printemps dépendances ne sont pas nécessaires si vous n'êtes pas à l'aide de printemps fwk.
Que je n'utilise pas le plugin j'utilise la fourmi et le compilateur aspectj pour ce faire, il y aura probablement un moyen facile
OriginalL'auteur Koitoer
Veux juste ajouter que le soi-disant "officiel" plugin pour AspectJ mentionné par Archie.
Voici quelques gradle exemple de script sur la façon de le faire:
Cependant, il semble qu'il ne prend en charge Java 8 et ci-dessus. Comme lors de l'utilisation de java 7 pour la construire, il a reçu l'erreur :
if (!hasProperty('mainClass')) { ext.mainClass = 'com.aspectz.Main' }
est-ce obligatoire ?OriginalL'auteur MazBeye
Semble qu'il y est un nouveau "officiel" plugin gradle pour AspectJ:
https://plugins.gradle.org/plugin/aspectj.gradle
Malheureusement, la documentation est minime. Je n'ai pas essayé moi-même.
OriginalL'auteur Archie
Un peu moche, mais de courte durée et ne nécessite pas de plug-ins additionnels ou des configurations.
Fonctionne pour moi:
Ajouter
aspectjweaver
dépendance ti script de build Gradle. Puis dans la tâche que vous devez trouver le chemin de son bocal et pass commejavaagent
dansjvmArgs
:Ajouter
aop.xml
fichier à laresources\META-INF\
dossier avec l'Aspect de la classe:Exemple d'un aspect:
OriginalL'auteur BohdanN
En ajoutant ceci dans mon construire.gradle fichier a fonctionné pour moi.
Faire un
gradle assemble
injecté le code défini dans l'aspect.OriginalL'auteur Erwin Alberto
Pour gradle 5 u peut utiliser ce "officielles" du plugin.
vous y trouverez un exemple de travail trop.
OriginalL'auteur Vitali Zarembouski