Pergunta

Estou fazendo um serviço Windows em Java, este serviço lista os arquivos em um diretório e escrevo os resultados em um arquivo. Meu problema é que, quando eu chamo java.file.isdirectory () quando o serviço está executando, ele sempre resulta falsa (funciona bem quando eu executo o serviço manualmente como qualquer outro programa). Além disso, se eu tentar o seguinte: para (FILE F: Directorio.ListFiles ()) Treco uma exceção quando executo o programa como um serviço. Acredito que esteja relacionado à permissão, porque quando altero a conta na qual o serviço está sendo executado para minhas próprias credenciais, ele lista os arquivos corretamente. Você sabe se há uma solução alternativa? (Altere uma política do Windows, outro tipo de conta especial, outra maneira de listar os arquivos do diretório, qualquer outra coisa que talvez esteja perdendo). Desde já, obrigado.

Foi útil?

Solução 2

Obrigado por toda sua ajuda! Encontrei meu problema, eu estava lendo o caminho de um arquivo de configuração que presumi estar na casa do usuário (a casa do meu sistema e o sistema não são as mesmas ... minha culpa). Infelizmente, eu não percebi isso porque estava usando uma classe reciclada (: s). Mais uma vez, muito obrigado.

Outras dicas

Dê ao usuário em que o serviço Java está em execução, as credenciais necessárias para a pasta em questão.

Eu acredito que funciona como sistema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top