Выберите имя переменной, которое вряд ли будет перезаписано случайно и доверять программисту, чтобы не сделать глупые вещи. JavaScript не является Java, не притворяйтесь, что это было.
кроме того, если то, что Вы действительно хотите сделать, является пространством имен, используют самовыполняющийся функциональный литерал:
var myLibName = (function() {
var aPrivateVar;
function aPrivateFunction() {}
function accessorForPrivateVar() {
return aPrivateVar;
}
// public interface:
return {
getPrivateVar : accessorForPrivateVar
}
})();
Если у вашего зависимого JAR есть класс с именем OneDependent, это должно работать:
OneDependent.class.getResourceAsStream(resourcePath)
У меня была похожая ситуация только сейчас. У меня есть «построитель тестового кода», который берет данные из каталога src / test / resources и закачивает данные в базу данных H2. Работает нормально из модуля A, но при вызове из модуля B это не так. Он создает путь с несколькими точками с запятой (из-за ресурсов, находящихся в файле jar); Модуль A затем не может найти файлы "локально для себя".
В конце концов, я добавил
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
<testResource>
<directory>../moduleA/src/test/resources</directory>
</testResource>
</testResources>
в раздел сборки модуля B, и теперь сборка проходит нормально и, как и ожидалось.