Как использовать параметр сборки ajc внутри аспекта?
Мне нужно знать имя моего .jar внутри аспекта, чтобы я мог создать строковое поле с ним через @DeclareParents.
Я знаю, что могу передавать вещи компилятору ajc, но возможно ли использовать переданные аргументы из аспекта? Конечным результатом должны быть классы с дополнительным полем, содержащим в качестве значения имя моего .jar.
ОБНОВИТЬ: Тест внушения. Gson.jar является .jar на пути к классам
InputStream r = Gson.class.getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
String x = getString(r);
System.out.println(x);
Выход:
Manifest-Version: 1.0
Name: org/aspectj/lang/
Specification-Title: AspectJ Runtime Classes
Specification-Version: 1.7
Specification-Vendor: aspectj.org
Implementation-Title: org.aspectj.tools
Implementation-Version: 1.7.3
Implementation-Vendor: aspectj.org
Bundle-Name: AspectJ Runtime
Bundle-Version: 1.7.3
Bundle-Copyright: (C) Copyright 1999-2001 Xerox Corporation, 2002 Palo
Alto Research Center, Incorporated (PARC), 2003-2009 Contributors.
All Rights Reserved.
Похоже, что одновременно может быть только один ресурс MANIFEST.MF, и AspectJ.jar оказывается первым на пути к классам.