En Java pourquoi cette erreur: 'la valeur de l'attribut doit être constante'?

J'ai quelques TestNG code, où je suis passant un Test d'annotation paramètre appelé timeOut = TESTNG_TEST_TIMEOUT .

@Test(description = "Tests something.", groups = { "regression" }, 
   timeOut = TESTNG_TEST_TIMEOUT, enabled = true)

Et dans mon TestBase classe, j'ai ce membre:

public final static long TESTNG_TEST_TIMEOUT = TimeUnit.MINUTES.toMillis(5);

Lorsque j'utilise la ligne de code, j'obtiens une "valeur de l'attribut doit être constante' erreur dans Eclipse.

Mais, si j'ai simplement définir le membre comme ça, ça marche:

public final static long TESTNG_TEST_TIMEOUT = 300000;

Est l'utilisation de TimeUnit pas une constante?

Mais notez que vous pouvez probablement utilisation statique init bloc de contourner ce problème.
Ahh. Une idée intéressante. Merci.

OriginalL'auteur djangofan | 2015-01-19