Comments (5)
I build my own little util
class if you're interested. I used this class to normalise the configuration for Dotenv
throughout my app too.
import io.github.cdimascio.dotenv.Dotenv;
public class Config {
private static final Config instance = new Config();
public static Config getConfig () {
return instance;
}
private Dotenv env;
public Config () {
this.env = Dotenv.configure().directory("./").ignoreIfMissing().load();
}
public String get (String variable) {
return env.get(variable);
}
}
from dotenv-kotlin.
Currently, it's not available statically, though its worth consideration.
One way to simulate the behavior you are looking for, would be to assign Dotenv to a public static
variable.
e.g.
public static Dotenv ENV = Dotenv.configure().load();
Then can call e.g. ENV.get("MY_EV")
throughout your app
from dotenv-kotlin.
Hmm yes that does make sense. I was mainly looking for this option because (as you might be able to tell from my other issues: #4, #3) on our project we're going to need some configuration. Having to do this config in every class where the variables are needed seems like it could cause for some issues where one part of the setup is updated but the rest isn't.
I had seen some other dotenv
type of project out there for Java where the api
was something like "load once, then use the System.getenv()
method all around. (Can't seem to find it at the moment though
But I could also abstract this whole dotenv
setup into my own utility
class where I do the config and make the variables statically available.
from dotenv-kotlin.
@jessevdp System.getenv()
is not an option with Java due to do the inability to set an env var on the running process. I describe it in the FAQ section. All in all, any dotenv implementation that does this, may not be guaranteed to run properly on all JVMs. All in all, I plan to keep this ticket open and consider a static helper as you proposed
For now, the the method I recommended above is one possible approach to get ev's via a static helper within your app.
from dotenv-kotlin.
@jessevdp are you using a framework? If not, your Config
class might have to do. But if yes, you might want to find a way to fit dotenv into there in a properly integrated fashion. Here is my example using Spring https://github.com/paulschwarz/spring-dotenv
Beyond a simple static helper, I'm not sure that java-dotenv should do too much.
from dotenv-kotlin.
Related Issues (20)
- Dotenv entries() result is not overridden by environment variables HOT 3
- Not working correctly when I execute a jar after gradle build HOT 2
- Option to only load .env file env vars HOT 6
- Multiline value HOT 8
- using env vars from host, it requires .env file HOT 1
- Directory configuration not working correctly HOT 3
- question - incorporating into build.gradle HOT 5
- 5.1.3 library version does not resolve correctly .env file location in jar file. HOT 3
- How is it different from Spring properties? HOT 5
- Make dotenv env variables available in System.getProperty() too HOT 6
- .env file and Travis HOT 5
- Getting an error when running a jar that uses dotenv HOT 1
- kotlin libs are required HOT 3
- Update version in readme
- Crashes on Android version 7 and older HOT 2
- package version 6.3.0 is not published anywhere other than github packages HOT 1
- Android Could not find /asset/env on the classpath HOT 1
- Errors when attempting to start it from a jar.
- Latest build on maven HOT 1
- Feature missing in docs.. DECLARED_IN_ENV filter
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ī¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dotenv-kotlin.