Задать вопрос
  • Какой командой можно запустить обычное приложение, как службу Windows?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Вообще, можно поступить вот так:

    https://gist.github.com/alexkuznetsov/b4880005d73c...

    Это регистрация windows-службы из самого приложения. Но, нужно запускать от администратора.
    Т.е., отвечая прямо на ваш вопрос:
    • Ваше приложение должно быть windows службой
    • Оно должно содержать в себе установщик (там есть такой компонент)


    А затем, можно его установить через
    ManagedInstallerClass.InstallHelper(new string[] { "absolute\path\to\assembly.exe" });


    UPD: yellowmew указал общий способ, мой относится только к windows-службам, написанным на .NET
    Ответ написан
    1 комментарий
  • Как на C# скомпилировать и подключить другой файл не имея Visual Studio и дополнительных компиляторов?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Еще, как вариант можно использовать msbuild.
    Но тогда, вы должны понимать структуру csproj-файла.

    На словах, в него нужно добавить что-то такое:
    <ItemGroup>
        <EmbeddedResource Include="Some\Relative\Path\To\File.ext" />
    </ItemGroup>


    Это первая часть. Вторая часть, реализация копирования, тут собственно вам все карты в руки.

    GetType().Assembly.GetManifestResourceNames()

    даст все внедренные ресурсы,

    GetType().Assembly.GetManifestResourceStream(name)

    даст поток на внедренный ресурс по имени, хранящемся в переменной name. Поток уже пишете в файлы, если данного файла нет. Имя файлы можно взять из name, опять же.

    Пересобрать solution через MSBuild тоже достаточно просто:

    MsBuild.exe [Path to your solution(*.sln)] /t:Build /p:Configuration=Release /p:TargetFramework=v4.0

    TargetFramework=v4.0 нужно ставить в зависимости от нужного фреймворка.
    Ответ написан
    Комментировать
  • Возможно ли в java унаследовать generic класс, другим generic классом?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Я создал два класса :

    public class Class1<T> {
    
    	public void Run(T another){
    		//TODO Do something  with another
    	}
    	
    }


    и
    public class Class2<T extends Synker> extends Class1<T> {
    
    }


    потом, делаю так:

    Class2<Synker> cl = new Class2<>();
    cl.Run(new Synker());


    Все нормально компилируется. Что у вас за тип, SomeType? Из моего примера, это то что вам нужно было?
    Ответ написан
    Комментировать
  • В чем может быть проблема деплоя на tomcat?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    А как вы зависимости к проекту подключали? Maven не использовали?
    И второй вопрос, в чем создавали проект?

    Я обычно работаю с Maven-проектами, и WAR у меня собирается (как в STS, так и в Idea) со всеми зависимостями.

    Советую попробовать задеплоить ваш WAR на локальный tomcat и посмотреть что будет. Возможно, действительно не хватает либ.

    Касаемо, чем деплоить - мы обычно используем WinSCP/scp. Можно права пользователю настроить, поместив его в нужную группу, чтобы он мог напрямую копировать в папку с приложениями и, таким образом, через scp получить автодеплой. У нас же, вообще, копируется в папку пользователя, а потом, через консоль, копируется дальше, куда нужно. Не автодеплой, в общем-то.
    Ответ написан
    2 комментария