Создание и DLL и статичный освобождает из того же проекта

Я столкнулся с этой проблемой при попытке создать исполняемую банку с maven в intellij 12. Оказалось, что поскольку файл манифеста Java не содержит путь к классу, файл свойств log4j не может быть найден на корневом уровне (где файл jar был выполнен из.)

FYI Я получал регистратор следующим образом:

Logger log = LogManager.getLogger(MyClassIWantedToLogFrom.class);

И мне удалось заставить его работать с файлом pom, который включили это:

         <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath> 
                        <mainClass>com.mycompany.mainPackage.mainClass</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path> <!-- need to add current directory to classpath properties files can be found -->
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
20
задан Kent Fredric 25 December 2008 в 02:07
поделиться

5 ответов

Я думаю типичный способ, которым это сделано, выбор 2 выше. Это - то, что я использую и что я видел сделанный многими библиотеками и компаниями.

, Если Вы находите, это не работает на Вас, затем любой ценой используют что-то еще.

Удача.

2
ответ дан 29 November 2019 в 22:07
поделиться

Я предпочитаю 2 конфигурации путь.

Установка все общие настройки с помощью 'Всех конфигураций' объект в окна свойств проекта. После того, как это разделило настройки. И это сделано. Давайте пойдем, кодировав.

Также существует очень хорошая функция, названная 'Пакетная сборка', которая создает указанные конфигурации по очереди.

2
ответ дан 29 November 2019 в 22:07
поделиться

Несколько проектов являются лучшим способом пойти - это - конфигурация, я наиболее широко не видел в многочисленном никаких из проектов, с которыми я столкнулся.

Тем не менее могло бы быть также возможно реализовать третью опцию путем изменения vcproj файлов на лету от внешних инструментов (как пользовательский vbscript), который Вы могли вызвать от make-файла. Можно использовать переменные оболочки для управления поведением инструмента.

Примечание, что необходимо все еще использовать Visual Studio использования для создания сборки, make-файл, должно только запустить внешний инструмент при необходимости, чтобы сделать модификации и затем следовать за этим фактической командой

сборки
0
ответ дан 29 November 2019 в 22:07
поделиться

Я использую Visual Studio 6.0 (Все еще) из-за проблем, которые препятствуют тому, чтобы мы Мигрировали на VS2005 или более новый. При восстановлении причин серьезные проблемы (все повреждается)... столь многие из нас рассматривают лоббирование миграции к GnuC ++ продвигающийся структурированным способом в конечном счете получить нас от лицензированных продуктов Visual Studio и на Eclipse и Linux.

В Unix/Linux легко создать для всех конфигураций.. таким образом, я не могу верить тому, что время и приемник производительности это должно попытаться выполнить ту же задачу в Visual Studio. Для VS6.0 я до сих пор нашел, что только наличие двух отдельных проектов, кажется, осуществимо. Я еще не попробовал несколько метод конфигурации, но буду видеть, работает ли он в более старом VS6.0.

0
ответ дан 29 November 2019 в 22:07
поделиться

Почему бы не пойти для версии 1 и генерировать второй набор файлов проекта от первого использования сценария или чего-то. Тем путем Вы знаете, что различиями являются ПРОСТО части, требуемые создавать dll или статический lib.

-1
ответ дан 29 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: