Я хотел бы сделать некоторый импорт моих собственных классов для использования внутри сценария DSLD, но компиляция DSLD, похоже, не использует путь к объекту проекта - операторы импорта ломают компиляцию, а Class.forName исключает исключение класса. Есть ли способ поставить пользовательские банки в DSpath classpath, чтобы я мог использовать свои собственные классы внутри блоков conribution? Я использую Eclipse 3.7 и последний плавный плагин (2.6.0)Как изменить путь класса DSLD для компиляции в Eclipse
ответ
Я не знаю много о вещах DSLD, но это looks, как у Groovy, возможно, есть собственные средства для этого.
Вы можете просто передать строку с полным именем класса и до тех пор, пока она находится на пути к классам проектов, где оценивается DSLD, тогда она будет работать. Это описано здесь groovy-eclipse DSLDs
Некоторые тонкости о java.lang.Class ссылки
Даже если сценарий DSLD редактируется в контексте вашего проекта, сценарий на самом деле загружается Groovy-Eclipse. Таким образом, путь класса сценария выполнения сценария соответствует пути класса Groovy-Eclipse , а не пути к классу вашего проекта.
Следовательно, вы не можете ссылаться на объекты класса для типов, определенных в вашем проекте. Однако вы можете ссылаться на объекты класса , доступные Groovy-Eclipse. Это может сбивать с толку, поскольку компилятор не будет отображать ошибки компиляции, если типы, определенные в вашем проекте , называются объектами класса, но будут отображаться ошибки компиляции , когда ссылки на типы Groovy-Eclipse ссылаются. Это связано с тем, что компилятор Groovy-Eclipse работает от пути к классу проекта. Это пока не известно, что файлы DSLD будут запускаться с другим пулом классов.
Более конкретно:
Вместо ссылки на класс MyLocalType напрямую, вы можете ссылаться на него как строка «com.mycompany.MyLocalType» Стандарт JDK, ГДК, и все типы, определенные в заводной-все они доступны непосредственно в вашей DSLD и покажет ошибки компиляции. В пакетах, начиная с org.eclipse.jdt, можно ссылаться на типы . и org.codehaus.groovy.eclipse. если все ссылки полностью квалифицированы. Однако, это не рекомендуется, если вы действительно не знаете, что вы делаете .
- 1. Как увидеть полный путь компиляции в Eclipse?
- 2. путь класса eclipse для сажи
- 3. Как отредактировать путь класса (runtime) в Eclipse?
- 4. Eclipse Mars с m2e не может изменить путь компиляции java
- 5. Как установить путь класса в Eclipse и Android Studio
- 6. Пользовательская загрузка класса компиляции в Eclipse?
- 7. Как изменить путь для веб-проекта в eclipse
- 8. Изменить текст в Eclipse при компиляции
- 9. использовать путь класса eclipse в задачах муравьев
- 10. Как настроить путь класса eclipse, используемый для тестов junit?
- 11. Как вы устанавливаете путь класса Java в eclipse?
- 12. Установить путь класса muliptle в Eclipse
- 13. Добавление папки в путь класса Eclipse
- 14. Как указать путь класса для соединителя запуска JDI; используя Eclipse?
- 15. Изменить исходный путь в проекте eclipse android
- 16. Как установить eclipse, я установил свой путь класса для JDK?
- 17. symfony: Как изменить путь класса sfCoreAutoloader?
- 18. Как использовать javassist для изменения компиляции eclipse?
- 19. Добавление внешней папки класса в путь сборки в Eclipse
- 20. Выполнить плагин Eclipse при компиляции класса
- 21. Задача компиляции Eclipse + Maven
- 22. eclipse, один классpath для компиляции, другой для запуска
- 23. Как установить путь класса для класса javaBean?
- 24. Ошибка компиляции java в eclipse helios
- 25. Как изменить путь при компиляции файла начальной загрузки компаса
- 26. Изменить путь, где eclipse ищет плагины
- 27. Как установить путь класса выполнения в Eclipse 4.2?
- 28. Как изменить путь каталога установки genymotion в eclipse?
- 29. Использование eclipse для компиляции C++
- 30. Проблема компиляции Eclipse
Это общий доступ к глобальным DSLD среди ваших проектов, и он предназначен только для файлов DSLD. Что мне нужно - это способ зацепить еще раньше в компилятор плагина eclipse, который компилирует сценарии DSLD. Я получил некоторые результаты, динамически добавляя URL-адрес в sysetmClassLoader непосредственно в сценарии DSLD, но мне интересно, есть ли более чистый способ сделать это –