

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo delle proprietà del sistema JVM per configurare globalmente e AWS SDK per Java AWS SDK per Kotlin
<a name="jvm-system-properties"></a>

[Le proprietà del sistema JVM](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) forniscono un altro modo per specificare le opzioni di configurazione e le credenziali per SDKs l'esecuzione sulla JVM, ad esempio la e la. AWS SDK per Java AWS SDK per Kotlin[Per un elenco delle proprietà del sistema JVM supportate da, vedere il riferimento alle impostazioni. SDKs](settings-reference.md#JVMSettings)

**Precedenza delle opzioni**
+ Se specifichi un'impostazione utilizzando la relativa proprietà di sistema JVM, questa sovrascrive qualsiasi valore trovato nelle variabili di ambiente o caricato da un profilo in AWS e file condivisi. `config` `credentials`
+ Se specifichi un'impostazione utilizzando la relativa variabile di ambiente, questa sovrascrive qualsiasi valore caricato da un profilo nei file `config` e `credentials` nei file AWS condivisi.

## Come impostare le proprietà del sistema JVM
<a name="jvm-sys-props-set"></a>

È possibile impostare le proprietà del sistema JVM in diversi modi.

### Sulla riga di comando
<a name="jvm-sys-props-set-cl"></a>

Imposta le proprietà del sistema JVM sulla riga di comando quando richiami il `java` comando utilizzando lo switch. `-D` Il comando seguente configura Regione AWS globalmente per tutti i client di servizio a meno che non si sovrascriva esplicitamente il valore nel codice.

```
java -Daws.region=us-east-1 -jar <your_application.jar> <other_arguments>
```

Se è necessario impostare più proprietà del sistema JVM, specificare lo switch più volte. `-D`

### Con una variabile di ambiente
<a name="jvm-sys-props-set-evar"></a>

Se non riesci ad accedere alla riga di comando per richiamare la JVM per eseguire l'applicazione, puoi utilizzare la variabile di `JAVA_TOOL_OPTIONS` ambiente per configurare le opzioni della riga di comando. Questo approccio è utile in situazioni come l'esecuzione di una AWS Lambda funzione sul runtime Java o l'esecuzione di codice in una JVM incorporata.

L'esempio seguente configura Regione AWS globalmente per tutti i client di servizio a meno che non si sovrascriva esplicitamente il valore nel codice.

------
#### [ Linux, macOS, or Unix ]

```
$ export JAVA_TOOL_OPTIONS="-Daws.region=us-east-1"
```

L'impostazione della variabile di ambiente modifica il valore utilizzato fino al termine della sessione della shell o finché non imposti la variabile su un valore diverso. Puoi rendere le variabili persistenti per le sessioni future impostandole nello script di avvio della shell.

------
#### [ Windows Command Prompt ]

```
C:\> setx JAVA_TOOL_OPTIONS -Daws.region=us-east-1
```

L'utilizzo `[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` per impostare una variabile di ambiente modifica il valore utilizzato fino alla fine della sessione corrente del prompt dei comandi o fino a quando non si imposta la variabile su un valore diverso. Se si utilizza [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx)per impostare una variabile di ambiente, viene modificato il valore utilizzato sia nella sessione corrente del prompt dei comandi che in tutte le sessioni del prompt dei comandi create dopo l'esecuzione del comando. Ciò ***non*** ha alcun impatto su altre shell di comando già in esecuzione quando esegui il comando.

------

### In fase di esecuzione
<a name="jvm-sys-props-set-runtime"></a>

È inoltre possibile impostare le proprietà del sistema JVM in fase di esecuzione nel codice utilizzando il `System.setProperty` metodo illustrato nell'esempio seguente.

```
System.setProperty("aws.region", "us-east-1");
```

**Importante**  
Impostate le proprietà del sistema JVM *prima di* inizializzare i client del servizio SDK, altrimenti i client di servizio potrebbero utilizzare altri valori.