Definir variável Perfil Primavera

votos
46

Eu tenho dois perfis Primavera: deve test. Eu quero definir o perfil ativo no ambiente de servidor, eu não quero colocá-lo em meu código para que onde quer que eu implantar o meu aplicativo o perfil é carregado com base no perfil no servidor. Como eu posso fazer isso?

Publicado 04/04/2013 em 15:45
fonte usuário
Em outras línguas...                            


5 respostas

votos
78

Você pode simplesmente definir uma propriedade do sistema no servidor da seguinte forma ...

-Dspring.profiles.active=test

Edit: Para adicionar este para tomcat no eclipse, selecione Run -> Run Configurationse escolha sua configuração Tomcat executado. Clique na Argumentsguia e adicionar -Dspring.profiles.active = teste no final VM arguments. Outra forma seria a de adicionar a propriedade aos seus catalina.properties em seu Serversprojeto, mas se você adicioná-lo lá omitir o -D

Edit: Para uso com Primavera de inicialização , você tem uma opção adicional. Você pode passar a propriedade como um argumento de programa se você preceder a propriedade com dois traços.

Aqui estão dois exemplos usando um arquivo jar executável Primavera Bota ...

propriedade sistema

[user@host ~]$ java -jar -Dspring.profiles.active=test myproject.jar

Argumento programa

[user@host ~]$ java -jar myproject.jar --spring.profiles.active=test
Respondeu 04/04/2013 em 15:47
fonte usuário

votos
19

Há pelo menos duas maneiras de fazer isso:

  1. definindo param contexto em web.xml - que quebra "um pacote para todos os ambientes" declaração. Eu não recomendo que

  2. definição de propriedade do sistema -Dspring.profiles.active=your-active-profile

Eu acredito que a definição de propriedade do sistema é uma abordagem muito melhor. Assim como definir propriedade do sistema para Tomcat? Na internet eu poderia encontrar um monte de conselhos como "modificar catalina.sh" porque você não vai encontrar nenhum arquivo de configuração para fazer coisas assim. Modificando catalina.sh é uma solução insustentável suja. Há uma maneira melhor de fazer isso.

Basta criar setenv.sh arquivo no diretório bin do Tomcat com o conteúdo:

JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"

e ele será carregado automaticamente durante a corrida catalina.sh iniciar ou executar.

Aqui é um blog que descreve a solução acima. A seção de comentários é interessante como ele fala sobre mais detalhes.

Respondeu 09/12/2014 em 13:41
fonte usuário

votos
2

como variável de ambiente do sistema:

Do Windows: Iniciar -> tipo "envi" variáveis de seleção de ambiente e adicionar um novo: Name: spring_profiles_active Value: dev(ou qualquer que seja o seu caso é)

Linux: adicione o seguinte linha ao / etc / ambiente sob PATH:

spring_profiles_active=prod (Ou qualquer outro perfil é)

em seguida, também export spring_profiles_active=prodpara que você tê-lo em tempo de execução agora.

Respondeu 16/08/2017 em 19:01
fonte usuário

votos
2

Para Tomcat 8:

Linux:

Criar setenv.sh e atualizá-lo com as seguintes:

exportação SPRING_PROFILES_ACTIVE = dev

Janelas:

Criar setenv.bat e atualizá-lo com as seguintes:

definir SPRING_PROFILES_ACTIVE = dev

Respondeu 25/06/2018 em 18:11
fonte usuário

votos
1

Para Eclipse, definindo -Dspring.profiles.activevariável nos argumentos VM faria o truque.

Vamos para

Clique direito Projeto -> Executar como -> Configurações Run -> Argumentos

E adicionar o seu -Dspring.profiles.active=devnos argumentos VM

Respondeu 15/10/2018 em 10:17
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more